w3resource logo


C Programming Exercises

C Exercises: Convert a tm object to custom textual representation

Secondary Nav

C Date Time: Exercise-4 with Solution

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

Expected 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

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

Flowchart :

Flowchart: Convert a tm object to custom textual representation

C Practice online:

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

Improve this sample solution and post your code through Disqus



Join our Question Answer community to learn and share your programming knowledge.

Help the community:

Python: Fizzbuzz

C++: Decimal to binary conversion

JavaScript: Need Help in JavaScript

Python: Help me with this program