std::ctime
定义于头文件 <ctime>
|
||
char* ctime( const std::time_t* time ); |
||
转换给定的从纪元起时间为日历时间,再转换为文本表示,如同通过调用 std::asctime(std::localtime(time)) 。 产生的字符串拥有如下格式:
Www Mmm dd hh:mm:ss yyyy\n
Www
- 星期(Mon
、Tue
、Wed
、Thu
、Fri
、Sat
、Sun
之一)。Mmm
- 月份(Jan
、Feb
、Mar
、Apr
、May
、Jun
、Jul
、Aug
、Sep
、Oct
、Nov
、Dec
之一)。dd
- 月之日hh
- 时mm
- 分ss
- 秒yyyy
- 年
函数不支持本地化。
参数
time | - | 指向指定要打印时间的 std::time_t 对象 |
返回值
返回指向静态空终止字符串的指针,字符串保有上述的日期和时间的文本表示。字符串可以在 std::asctime
和 std::ctime 间共享,并且可以被每次对这些函数的调用重写。
注意
ctime
返回指向静态数据的指针,而且非线程安全。另外它修改可能会为 std::gmtime 及 std::localtime 所共享的静态 std::tm 对象。 POSIX 标记此函数标为过时,并推荐用 std::strftime 替代。
对于导致字符串长于 25 字符(例如, 10000 年)的 time_t
的值, ctime
的行为可能未定义。
示例
运行此代码
#include <ctime> #include <iostream> int main() { std::time_t result = std::time(nullptr); std::cout << std::ctime(&result); }
输出:
Tue Dec 27 17:21:29 2011
参阅
转换 tm 对象为文本表示 (函数) | |
转换 tm 对象到自定义的文本表示 (函数) | |
(C++11) |
按照指定格式格式化并输出日期/时间值 (函数模板) |