ctime ()- 将时间转换为字符串

格式

#include <time.h>
char *ctime(const time_t *time);

语言级别

ANSI

线程安全

False

请改为使用 ctime_r()

语言环境敏感

此函数的行为可能受当前语言环境的 LC_TOD 类别影响。 有关更多信息,请参阅 了解 CCSID 和语言环境

描述

ctime() 函数将 time 指向的时间值以字符串形式转换为本地时间。 通常通过调用 time() 函数来获取时间值。

ctime() 生成的字符串结果正好包含 26 个字符,并且具有以下格式:
   "%.3s %.3s%3d %.2d:%.2d:%.2d %d\n"
例如:
   Mon Jul 16 02:03:55 1987\n\0

ctime() 函数使用 24 小时制的时钟格式。 这些日子缩写为: SunMonTueWedThuFriSat。 月份缩写为: JanFebMarAprMayJunJulAugSepOctNovDec。 所有字段都具有恒定宽度。 只有一个数字的日期前面有一个零。 换行符 (\n) 和空字符 (\0) 占据字符串的最后两个位置。

返回值

ctime() 函数返回一个指向字符串结果的指针。 如果该函数不成功,那么它将返回 NULL。 对 ctime() 函数的调用等效于:
   asctime(localtime(&anytime))
注: asctime()ctime() 函数以及其他时间函数可以使用公共的静态分配缓冲区来保存返回字符串。 对其中一个函数的每个调用都可能破坏先前调用的结果。 asctime_r()ctime_r()gmtime_r()localtime_r() 函数不使用公共的静态分配缓冲区来保存返回字符串。 如果需要 reentrancy ,那么可以使用这些函数来代替 asctime()ctime()gmtime()localtime()

示例

此示例使用 time()轮询系统时钟。 然后,它会打印一条消息,给出当前日期和时间。
#include <time.h>
#include <stdio.h>
 
int main(void)
{
   time_t ltime;

   time(&ltime); 

   printf("the time is %s", ctime(&ltime));
}

相关信息