Open In App

time.h header file in C with Examples

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

The time.h header file contains definitions of functions to get and manipulate date and time information. It describes three time-related data types. 

  1. clock_t: clock_t represents the date as an integer which is a part of the calendar time. 
     
  2. time_t: time_t represents the clock time as an integer which is a part of the calendar time. 
     
  3. struct tm: struct tm holds the date and time which contains:

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;
}


It also contains CLOCKS_PER_SEC macro which holds the number of times does the system clock ticks per second.

Pre-defined Functions in time.h

S.No Function Name Explanation
1. asctime() This function returns the date and time in the format 
day month date hours:minutes:seconds year.
Eg: Sat Jul 27 11:26:03 2019.
asctime() function returns a string by taking struct tm variable as a parameter.
2. clock() This function returns the processor time consumed by a program
3. ctime() This function returns the date and time in the format
day month date hours:minutes:seconds year
Eg: Sat Jul 27 11:26:03 2019
time is printed based on the pointer returned by Calendar Time
4. difftime() This function returns the difference between the times provided.
5. gmtime() This function prints the UTC (Coordinated Universal Time) Time and date.
Format for both gmtime() and asctime() is same
6. mktime() This function returns the calendar-time equivalent using struct tm.
7. time() This function returns the calendar-time equivalent using data-type time_t.
8. strftime() This function helps to format the string returned by other time functions using different format specifiers

Examples

Example 1: Program to print the date and time of the system.

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;
}


Output

Tue Aug  6 09:00:29 2019

 

Example 2: Program to print UTC (Coordinated Universal Time) of the system.

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;
}


Output

Tue Aug  6 09:00:31 2019

Example 3: Program to calculate the time taken to add two numbers program.

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));
}


Output

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

Note: If user gives input slowly that time also add up for total execution time. 

Example 4: Program to find the clock ticks.

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;
}


Output

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

Example 5: Program to print time as hour: minute returned by asctime() file. 

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;
}


Output

Time is 09:00AM.


Last Updated : 06 Dec, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads