ctime64_r() — Convert Time to Character String (Restartable)

Format

#include <time.h>
char *ctime64_r(const time64_t *time, char *buf);

Language Level

ILE C Extension

Threadsafe

Yes

Locale Sensitive

The behavior of this function might be affected by the LC_TOD category of the current locale. For more information, see Understanding CCSIDs and Locales.

Description

This function is the restartable version of the ctime64() function.

The ctime64() function converts the time value pointed to by time to local time in the form of a character string. A time value is usually obtained by a call to the time64() function.

The string result that is produced by the ctime64_r() function contains exactly 26 characters and has the format:
   "%.3s %.3s%3d %.2d:%.2d:%.2d %d\n"
For example:
   Mon Jul 16 02:03:55 1987\n\0

The ctime64_r() function uses a 24-hour clock format. The month and day abbreviation used are retrieved from the locale. All fields have a constant width. Dates with only 1 digit are preceded with a zero. The new-line character (\n) and the null character (\0) occupy the last two positions of the string.

Return Value

The ctime64_r() function returns a pointer to the character string result. If the function is unsuccessful, it returns NULL. A call to the ctime64_r() function is equivalent to:
   asctime_r(localtime64_r(&anytime, buf2), buf)

Example

This example polls the system clock using time64(). It then prints a message, giving the current date and time.
#include <time.h>
#include <stdio.h>
 
int main(void)
{
   time64_t ltime;
   char buf[50];
 
   time64(&ltime);
   printf("the time is %s", ctime64_r(&ltime, buf));
}

Related Information