std::ctime

来自cppreference.com
< cpp‎ | chrono‎ | c
 
 
工具库
通用工具
格式化库 (C++20)
(C++11)
关系运算符 (C++20 中弃用)
整数比较函数
(C++20)(C++20)(C++20)
(C++20)
swap 与类型运算
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
常用词汇类型
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)

初等字符串转换
(C++17)
(C++17)
栈踪
 
 
 
定义于头文件 <ctime>
char* ctime( const std::time_t* time );

转换给定的从纪元起时间为日历时间,再转换为文本表示,如同通过调用 std::asctime(std::localtime(time)) 。 产生的字符串拥有如下格式:

Www Mmm dd hh:mm:ss yyyy\n
  • Www - 星期( MonTueWedThuFriSatSun 之一)。
  • Mmm - 月份( JanFebMarAprMayJunJulAugSepOctNovDec 之一)。
  • dd - 月之日
  • hh - 时
  • mm - 分
  • ss - 秒
  • yyyy - 年

函数不支持本地化。

参数

time - 指向指定要打印时间的 std::time_t 对象

返回值

返回指向静态空终止字符串的指针,字符串保有上述的日期和时间的文本表示。字符串可以在 std::asctimestd::ctime 间共享,并且可以被每次对这些函数的调用重写。

注意

ctime 返回指向静态数据的指针,而且非线程安全。另外它修改可能会为 std::gmtimestd::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)
按照指定格式格式化并输出日期/时间值
(函数模板)