std::time
来自cppreference.com
在标头 <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.)秒 数,而是减去了从纪元至今发生过的闰秒数。std::time_t 为 32 位有符号整数的实现(许多历史上的实现)会在 2038 年出错。
示例
运行此代码
#include <ctime> #include <iostream> int main() { std::time_t result = std::time(nullptr); std::cout << std::asctime(std::localtime(&result)) << result << " 自纪元起的秒数\n"; }
可能的输出:
Wed Sep 21 10:27:52 2011 1316615272 自纪元起的秒数
参阅
(C++17) |
返回基于给定时间基底的以秒和纳秒计的日历时间 (函数) |
转换纪元起时间为以本地时间表示的日历时间 (函数) | |
转换纪元起时间为以协调世界时表示的日历时间 (函数) | |
(C++11) |
来自系统范畴实时时钟的挂钟时间 (类) |