w3resource

C Exercises: Convert a tm object to custom textual representation

C Date Time: Exercise-4 with Solution

Write a program in C to convert a tm object to custom textual representation.

Sample Solution:

C Code:

#include <stdio.h> 
#include <time.h>
#include <locale.h>
 
int main(void)
{
    char time_buff[70];
    struct tm mytime = { .tm_year=116, // = year 2016
                          .tm_mon=8,    // = 9th month
                          .tm_mday=2,   // = 2nd day
                          .tm_hour=16,   // = 16 hours
                          .tm_min=30,   // = 30 minutes
                          .tm_sec=32    // = 32 secs
    };
    printf("\n The textual representation of specified date and time :\n"); 
    if (strftime(time_buff, sizeof time_buff, "%B %c %P" , &mytime)) 
    {
        puts(time_buff);
    } else {
        puts("strftime failed");
    }
    setlocale(LC_TIME, "el_GR.utf8");
 
    if (strftime(time_buff, sizeof time_buff, "%B %c %P", &mytime)) {
        puts(time_buff);
    } else {
        puts("strftime failed");
    }
    printf("\n");     
}

Sample Output:

 The textual representation of specified date and time :                                                                      
September Sun Sep  2 16:30:32 2016 pm                                                                                         
September Sun Sep  2 16:30:32 2016 pm 

Flowchart:

Flowchart: Convert a tm object to custom textual representation

C Programming Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a program in C to convert a time_t object to a textual representation.
Next: Write a program in C to convert a tm object to custom wide string textual representation.

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