w3resource

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


5. tm Object to Wide String

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

Sample Solution:

C Code:

#include <stdio.h>
#include <time.h>
#include <wchar.h>
#include <locale.h>

int main(void) {
    wchar_t buff[40]; // Wide character array to store the formatted date and time string
    // Create a custom time structure with specified date and time
    struct tm mytime = {
        .tm_year = 116, // = year 2016 (years since 1900)
        .tm_mon = 8,    // = 9th month (0-based index)
        .tm_mday = 2,   // = 2nd day of the month
        .tm_hour = 17,  // = 17 hours
        .tm_min = 51,   // = 51 minutes
        .tm_sec = 10    // = 10 seconds
    };

    printf("\n The textual representation of specified date and time :\n");
    // Format the time structure to a wide character string based on the provided format specifier
    if (wcsftime(buff, sizeof buff, L"%A %c", &mytime)) {
        printf("\n%ls\n", buff); // Print the formatted date and time string using wide character format
    } else {
        puts("wcsftime failed"); // Print a message if wcsftime fails
    }

    setlocale(LC_ALL, "en_US.UTF-8"); // Change the locale to English (US) in UTF-8 encoding
    if (wcsftime(buff, sizeof buff, L"%A %c", &mytime)) {
        printf("%ls\n\n", buff); // Print the formatted date and time string in the specified locale
    } else {
        puts("wcsftime failed"); // Print a message if wcsftime fails after changing the locale
    }

    return 0;
}

Output:

 The textual representation of specified date and time :

Sunday 09/02/16 17:51:10
Sunday 09/02/16 17:51:10

Flowchart:

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


For more Practice: Solve these Related Problems:

  • Write a C program to convert a tm structure into a wide string using swprintf() with a custom date-time format.
  • Write a C program to generate a wide string representation of a tm object that includes the full weekday and month names.
  • Write a C program to output a tm object as a wide string in the format "Weekday DD/MM/YY HH:MM:SS".
  • Write a C program to create a wide string from a tm object using locale-specific formatting settings.

C Programming Code Editor:



Previous: Write a program in C to convert a tm object to custom textual representation.
Next: Write a program in C to convert a time_t object to calendar time expressed as Coordinated Universal Time.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.