strftime
| Date and Time Functions |
Converts time to a string, and writes the string into a memory area.
size_t *strftime( char *string, size_t maxlen, const char *format, const struct tm *timestruct);
| string | Pointer to an null-terminated area of memory to hold the string data produced by this function. |
| maxlen | Maximum number of characters that string can contain, including the null character '\0' at the end of the string. |
| format | Format string indicating the information the function writes into string. Refer to your platform-specific documentation for details. |
| timestruct | Pointer to a time structure as created by the gmtime or localtime functions. Refer to your platform-specific documentation for details. |
Under Linux, strftime is not thread-safe. Use strftime_r, instead. Refer to your platform-specific documentation for details.
Return Values
The number of characters written into string (not including the null '\0' character). If the function fails, the return value is zero, and the contents of string is undefined.
Example
The following example uses localtime to convert the time_t variable, t, to a tm structure, now. It then changes the 24-hour field, tm_hour, to be 12-hour based and prints out the AM/PM time. The example then prints out details of the tm structure using strftime.
#include <time.h>
time_t t; struct tm * now; char tmp[128], ampm[] = "AM";
// Sets variables used by localtime _tzset(); time(&t);
// Convert to time structure and adjust for PM if necessary
now = (struct tm *)localtime(&t);
if (now->tm_hour > 12) {
strcpy (ampm, "PM");
now->tm_hour -= 12;
}// Adjust if midnight hour
if (now->tm_hour == 0)
now->tm_hour = 12;
lr_message ("12-hour time: %.8s %s", asctime(now) + 11, ampm);// Use strftime to build a customized time string
strftime (tmp, 128, "Today is %A, day %d of %B in the year %Y.", now); lr_message (tmp);
Example: Output:
12-hour time: 03:31:35 PM
Today is Sunday, day 21 of April in the year 2002.

