w3resource logo


C Programming Exercises

C Exercises: Convert a tm object to custom wide string textual representation

Secondary Nav

C Date Time: Exercise-5 with Solution

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

Expected Output :

Sunday Sun Sep  2 17:51:10 2016                                         
Sunday Sun 02 Sep 2016 05:51:10 PM IST

C Code:

#include <stdio.h>
#include <time.h>
#include <wchar.h>
#include <locale.h>
 
int main(void)
{
    wchar_t buff[40];
    struct tm mytime = { .tm_year=116, // = year 2016
                          .tm_mon=8,    // = 9th month
                          .tm_mday=2,   // = 2nd day
                          .tm_hour=17,   // = 17 hours
                          .tm_min=51,   // = 51 minutes
                          .tm_sec=10    // = 10 secs
    };
     printf("\n The textual representation of specified date and time :\n"); 
    if (wcsftime(buff, sizeof buff, L"%A %c", &mytime)) {
        printf("\n%ls\n", buff);
    } else {
        puts("wcsftime failed");
    }
    setlocale(LC_ALL, "en_US.UTF-8");
    if (wcsftime(buff, sizeof buff, L"%A %c", &mytime)) {
        printf("%ls\n\n", buff);
    } else {
        puts("wcsftime failed");
    }
}

Flowchart :

Flowchart: Convert a tm object to custom wide string textual representation

C Practice online:

#include <stdio.h>
#include <time.h>
#include <wchar.h>
#include <locale.h>
 
int main(void)
{
    wchar_t buff[40];
    struct tm mytime = { .tm_year=116, // = year 2016
                          .tm_mon=8,    // = 9th month
                          .tm_mday=2,   // = 2nd day
                          .tm_hour=17,   // = 17 hours
                          .tm_min=51,   // = 51 minutes
                          .tm_sec=10    // = 10 secs
    };
     printf("\n The textual representation of specified date and time :\n"); 
    if (wcsftime(buff, sizeof buff, L"%A %c", &mytime)) {
        printf("\n%ls\n", buff);
    } else {
        puts("wcsftime failed");
    }
    setlocale(LC_ALL, "en_US.UTF-8");
    if (wcsftime(buff, sizeof buff, L"%A %c", &mytime)) {
        printf("%ls\n\n", buff);
    } else {
        puts("wcsftime failed");
    }
}

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