std::mktime

来自cppreference.com
< cpp‎ | chrono‎ | c

定义于头文件 <ctime>
std::time_t mktime( std::tm* time );
本地日历时间转换成一个划时代的时间,因为作为std::time_t对象,而忽略time->tm_wdaytime->yday的值。其他组件time的值并不限于其通常范围。负值的time->tm_isdst导致mktime如果夏令时在试图确定.
原文:
Converts local calendar time to a time since epoch as a std::time_t object, ignoring the values of time->tm_wday and time->yday. The values of other components of time are not restricted to their usual ranges. A negative value of time->tm_isdst causes mktime to attempt to determine if Daylight Saving Time was in effect.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
如果成功的话,会重新计算并更新中的所有字段time,以满足他们适当的范围内.
原文:
If successful, recalculates and updates all fields in time to fit their proper ranges.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

目录

[编辑] 参数

time -
指针指定本地日历的时间来转换到std::tm对象
原文:
pointer to a std::tm object specifying local calendar time to convert
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 返回值

因为时代的成功或std::time_t-1不能表示为一个time对象作为std::time_t对象的时间.
原文:
Time since epoch as a std::time_t object on success or -1 if time cannot be represented as a std::time_t object.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 示例

显示100个月前的时间
原文:
Display the time 100 months ago
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

#include <iostream>
#include <iomanip>
#include <ctime>
 
int main()
{
    std::time_t t = std::time(NULL);
    std::tm tm = *std::localtime(&t);
    std::cout << "Today is           " << std::put_time(&tm, "%c %Z") <<'\n';
    tm.tm_mon -= 100;
    std::mktime(&tm);
    std::cout << "100 months ago was " << std::put_time(&tm, "%c %Z") << '\n';
}

输出:

Today is           Wed Dec 28 09:56:10 2011 EST
100 months ago was Thu Aug 28 10:56:10 2003 EDT

[编辑] 另请参阅

转换纪元起时间到表示为本地时间的日历时间
(函数) [编辑]
mktimeC 文档