w3resource

C Exercises: Convert a time_t object to calendar time expressed as local time

C Date Time: Exercise-7 with Solution

Write a program in C to convert a time_t object to calendar time expressed as local time.

Sample Solution:

C Code:

#define __STDC_WANT_LIB_EXT1__ 1
#include <stdio.h>
#include <time.h>


int main(void)
{
    time_t t = time(NULL);
    printf("\nThe calendar time expressed as a local Time is :");	
    printf("\nUTC:   %s", asctime(gmtime(&t)));
    printf("local: %s\n", asctime(localtime(&t)));
 
#ifdef __STDC_LIB_EXT1__
    struct tm buf;
    char str[26];
    asctime_s(str,sizeof str,gmtime_s(&t, &buf));
    printf("UTC:   %s", str);
    asctime_s(str,sizeof str,localtime_s(&t, &buf)));
    printf("local: %s", str);
#endif
}

Sample Output:

The calendar time expressed as a local Time is :
UTC:   Thu Aug 03 11:15:59 2017
local: Thu Aug 03 16:45:59 2017

N.B.: The result may varry for your current system date and time.

Flowchart:

Flowchart: Convert a time_t object to calendar time expressed as local time

C Programming Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a program in C to convert a time_t object to calendar time expressed as Coordinated Universal Time.
Next: Write a program in C to print the date and time before 24 months.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



C Programming: Tips of the Day

How I can print to stderr in C?

The syntax is almost the same as printf. With printf you give the string format and its contents i.e.:

printf("my %s has %d chars\n", "string format", 30);

With fprintf it is the same, except now you are also specifying the place to print to:

File *myFile;
...
fprintf( myFile, "my %s has %d chars\n", "string format", 30);

Or in your case:

fprintf( stderr, "my %s has %d chars\n", "string format", 30);

Ref : https://bit.ly/3v5U8Zq