std::time
来自 cppreference.cn
定义于头文件 <ctime> |
||
std::time_t time( std::time_t* arg ); |
||
返回当前日历时间,编码为 std::time_t 对象,如果 arg 非空,也将其存储在 arg 指向的对象中。
目录 |
[编辑] 参数
arg | - | 指向用于存储时间的 std::time_t 对象的指针,或空指针 |
[编辑] 返回值
成功时返回编码为 std::time_t 对象的当前日历时间,错误时返回 (std::time_t)(-1)。如果 arg 非空,返回值也会存储在 arg 指向的对象中。
[编辑] 注意
std::time_t 中日历时间的编码是未指定的,但大多数系统遵循 POSIX 规范,并返回一个整数类型的值,该值表示自 纪元 以来的日历天数乘以 86400,加上自上次午夜 UTC 以来经过的秒数。最值得注意的是,POSIX 时间不(也无法)考虑闰秒,因此这个整数值不等于自纪元以来经过的 S.I. 秒 数,而是减去了自纪元以来发生的闰秒数。使用 32 位带符号整数作为 std::time_t 的实现(许多历史实现)将在 2038 年 出现问题。
[编辑] 示例
运行此代码
#include <ctime> #include <iostream> int main() { std::time_t result = std::time(nullptr); std::cout << std::asctime(std::localtime(&result)) << result << " seconds since the Epoch\n"; }
可能的输出
Wed Sep 21 10:27:52 2011 1316615272 seconds since the Epoch
[编辑] 参阅
(C++17) |
根据给定时间基准返回以秒和纳秒表示的日历时间 (函数) |
将自纪元以来的时间转换为以本地时间表示的日历时间 (函数) | |
将自纪元以来的时间转换为以世界协调时间表示的日历时间 (函数) | |
(C++11) |
系统范围实时时钟的挂钟时间 (类) |
C 文档 用于 time
|