Example: Converting Time to Local Time

The following example uses localtime to convert the time_t variable, t, to a tm structure, now. It then changes the 24-hour field, tm_hour, to be 12-hour based and prints out the AM/PM time. The example then prints out details of the tm structure using strftime.

    #include <time.h>
    time_t t;
    struct tm * now;
    char tmp[128], ampm[] = "AM";
// Sets variables used by localtime 
    _tzset(); 
    time(&t);
// Convert to time structure and adjust for PM if necessary
    now = (struct tm *)localtime(&t);
    if (now->tm_hour > 12) {
        strcpy (ampm, "PM");
        now->tm_hour -= 12;
     }
// Adjust if midnight hour 
    if (now->tm_hour == 0) 
        now->tm_hour = 12;
    lr_message ("12-hour time: %.8s %s", asctime(now) + 11, ampm);
// Use strftime to build a customized time string 
    strftime (tmp, 128, "Today is %A, day %d of %B in the year %Y.", now);
    lr_message (tmp);
Example: Output:
12-hour time: 03:31:35 PM
Today is Sunday, day 21 of April in the year 2002.