Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

136
Vistas
Compara dos tiempos en C

¿Cómo comparo el tiempo en C? Mi programa obtiene la hora de última modificación de 2 archivos, luego compara esa hora para ver cuál es la última. ¿Hay alguna función que compare el tiempo para ti, o tienes que crear una tú mismo? Esta es mi función de obtención de tiempo:

 #include <stdio.h> #include <stdlib.h> #include <time.h> #include <sys/stat.h> #include <sys/types.h> void getFileCreationTime(char *path) { struct stat attr; stat(path, &attr); printf("Last modified time: %s", ctime(&attr.st_mtime)); }
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Usa difftime(time1, time0) from time.h para obtener la diferencia entre dos tiempos. Esto calcula time1 - time0 y devuelve un double que representa la diferencia en segundos. Si es positivo, entonces time1 es posterior a time0 ; si es negativo, time0 es posterior; si es 0, son iguales.

over 4 years ago · Santiago Trujillo Denunciar

0

Puede comparar dos valores de time_t para encontrar cuál es más nuevo:

 #include <stdio.h> #include <stdlib.h> #include <time.h> #include <sys/stat.h> static time_t getFileModifiedTime(const char *path) { struct stat attr; if (stat(path, &attr) == 0) { printf("%s: last modified time: %s", path, ctime(&attr.st_mtime)); return attr.st_mtime; } return 0; } int main(int argc, char **argv) { if (argc != 3) { fprintf(stderr, "Usage: %s file1 file2\n", argv[0]); return 1; } time_t t1 = getFileModifiedTime(argv[1]); time_t t2 = getFileModifiedTime(argv[2]); if (t1 < t2) printf("%s is older than %s\n", argv[1], argv[2]); else if (t1 > t2) printf("%s is newer than %s\n", argv[1], argv[2]); else printf("%s is the same age as %s\n", argv[1], argv[2]); return 0; }

Si desea conocer la diferencia entre los valores en segundos, debe usar difftime() oficialmente, pero en la práctica simplemente puede restar los dos valores de time_t .

over 4 years ago · Santiago Trujillo Denunciar

0

Puedes usar el siguiente método

 double difftime (time_t end, time_t beginning);

Devuelve la diferencia horaria en segundos. Puede encontrar un ejemplo aquí.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda