archivo de encabezado time.h en C con ejemplos

El archivo de encabezado time.h contiene definiciones de funciones para obtener y manipular información de fecha y hora. 
 

  • Describe tres tipos de datos relacionados con el tiempo. 
    1. clock_t : clock_t representa la fecha como un número entero que forma parte del tiempo del calendario. 
       
    2. time_t : time_t representa la hora del reloj como un número entero que forma parte de la hora del calendario. 
       
    3. struct tm : struct tm contiene la fecha y la hora que contiene:
       

C

struct tm {
    // seconds,  range 0 to 59
    int tm_sec;
 
    // minutes, range 0 to 59
    int tm_min;
 
    // hours, range 0 to 23
    int tm_hour;
 
    // day of the month, range 1 to 31
    int tm_mday;
 
    // month, range 0 to 11
    int tm_mon;
 
    // The number of years since 1900
    int tm_year;
 
    // day of the week, range 0 to 6
    int tm_wday;
 
    // day in the year, range 0 to 365
    int tm_yday;
 
    // daylight saving time
    int tm_isdst;
}
  • También contiene la macro CLOCKS_PER_SEC que contiene el número de veces que el reloj del sistema hace tictac por segundo.
  • Funciones predefinidas en el tiempo.h
     
S.No Nombre de la función Explicación
1. asctime() Esta función devuelve la fecha y la hora en el formato 
día mes fecha horas:minutos:segundos año.
Por ejemplo: sábado 27 de julio a las 11:26:03 de 2019.
La función asctime() devuelve una string al tomar la variable struct tm como parámetro.
2. reloj() Esta función devuelve el tiempo de procesador consumido por un programa
3. tiempoc() Esta función devuelve la fecha y la hora en el formato
día mes horas:minutos:segundos año
Por ejemplo: Sáb 27 de julio 11:26:03 La
hora de 2019 se imprime en función del puntero devuelto por Calendar Time
4. diftime() Esta función devuelve la diferencia entre los tiempos proporcionados.
5. gmtime() Esta función imprime la fecha y la hora UTC (hora universal coordinada).
El formato para gmtime() y asctime() es el mismo
6. mktime() Esta función devuelve el equivalente en tiempo de calendario usando struct tm.
7. tiempo() Esta función devuelve el equivalente de tiempo de calendario utilizando el tipo de datos time_t.
8. strftime() Esta función ayuda a formatear la string devuelta por otras funciones de tiempo utilizando diferentes especificadores de formato.
  • Ejemplos: 
    1. Programa para imprimir la fecha y hora del sistema.
       

C

#include <stdio.h>
#include <time.h>
int main(void)
{
    struct tm* ptr;
    time_t t;
    t = time(NULL);
    ptr = localtime(&t);
    printf("%s", asctime(ptr));
    return 0;
}
Producción: 

Tue Aug  6 09:00:29 2019

 

        2. Programa para imprimir UTC (Tiempo Universal Coordinado) del sistema.
 

C

#include <stdio.h>
#include <time.h>
int main(void)
{
    struct tm* ptr;
    time_t t;
    t = time(NULL);
    ptr = gmtime(&t);
    printf("%s", asctime(ptr));
    return 0;
}
Producción: 

Tue Aug  6 09:00:31 2019

 

         3. Programa para calcular el tiempo que se tarda en sumar dos números programa. 
             Nota: si el usuario ingresa lentamente, ese tiempo también se suma al tiempo total de ejecución. 
 

C

#include <stdio.h>
#include <time.h>
int main(void)
{
    time_t start, end;
    start = time(NULL);
    int a, b;
    scanf("%d %d", &a, &b);
    printf("Sum of %d and %d is %d\n",
           a, b, a + b);
    end = time(NULL);
    printf("Time taken to print sum is %.2f seconds",
           difftime(end, start));
}
Producción: 

Sum of 4196144 and 0 is 4196144
Time taken to print sum is 0.00 seconds

 

       4. Programa para encontrar las marcas del reloj.
 

C

#include <math.h>
#include <stdio.h>
#include <time.h>
 
int frequency_of_primes(int n)
{
    // This function checks the number of
    // primes less than the given parameter
    int i, j;
    int freq = n - 1;
    for (i = 2; i <= n; ++i)
        for (j = sqrt(i); j > 1; --j)
            if (i % j == 0) {
                --freq;
                break;
            }
    return freq;
}
 
int main()
{
    clock_t t;
    int f;
    t = clock();
    f = frequency_of_primes(9999);
    printf("The number of primes lower"
           " than 10, 000 is: %d\n",
           f);
    t = clock() - t;
    printf("No. of clicks %ld clicks (%f seconds).\n",
           t, ((float)t) / CLOCKS_PER_SEC);
    return 0;
}
Producción: 

The number of primes lower than 10, 000 is: 1229
No. of clicks 2837 clicks (0.002837 seconds).

 

           5. Programa para imprimir la hora como hora: minuto devuelto por el archivo asctime(). 
 

C

#include <stdio.h>
#include <time.h>
int main()
{
    time_t rawtime;
    struct tm* timeinfo;
 
    // Used to store the time
    // returned by localetime() function
    char buffer[80];
 
    time(&rawtime);
    timeinfo = localtime(&rawtime);
    strftime(buffer, 80,
             "Time is %I:%M%p.",
             timeinfo);
 
    // strftime() function stores the
    // current time as Hours : Minutes
    //%I %M and %p-> format specifier
    // of Hours minutes and am/pm respectively*/
 
    // prints the formatted time
    puts(buffer);
 
    return 0;
}
Producción: 

Time is 09:00AM.

 

Publicación traducida automáticamente

Artículo escrito por avsadityavardhan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *