C++ 中的mktime() 函数将本地日历时间转换为自纪元以来的时间,并将值作为time_t 类型的对象返回。
mktime() 函数在<ctime> 头文件中定义。
mktime()原型
time_t mktime(tm* time);
mktime 函数将指向 tm 对象的指针作为其参数,并将自纪元以来的时间作为类型 time_t
的值返回。值 time->tm_wday 和 time->tm_yday 被忽略。
如果time->tm_isdst
的值为负数,它会导致 mktime 尝试确定夏令时是否有效。
参数:
time
:指向表示要转换的本地日历时间的 tm 对象的指针。
返回:
- 成功时,mktime() 函数将自纪元以来的时间作为 time_t 类型的对象返回。
- 失败时返回-1。
示例:mktime() 函数如何工作?
#include <iostream>
#include <ctime>
using namespace std;
int main ()
{
time_t tim;
tm *ptr;
int y = 2017, m = 4, d = 20;
char weekday[7][20] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
time(&tim);
ptr = localtime(&tim);
// tm_year is time since 1900
ptr->tm_year = y - 1900;
ptr->tm_mon = m - 1;
ptr->tm_mday = d;
mktime (ptr);
cout << "April 20, 2017 was " << weekday[ptr->tm_wday];
return 0;
}
运行程序时,输出将是:
April 4, 2017 was a Thursday
相关用法
- C++ mktime()用法及代码示例
- C++ map lower_bound()用法及代码示例
- C++ multimap key_comp()用法及代码示例
- C++ merge()用法及代码示例
- C++ multimap empty()用法及代码示例
- C++ multimap cend()用法及代码示例
- C++ multiset begin()、end()用法及代码示例
- C++ mbtowc()用法及代码示例
- C++ map::at()用法及代码示例
- C++ multiset value_comp()用法及代码示例
- C++ multimap insert()用法及代码示例
- C++ memset()用法及代码示例
- C++ map max_size()用法及代码示例
- C++ multiset emplace()用法及代码示例
- C++ multiset lower_bound()用法及代码示例
- C++ multimap lower_bound()用法及代码示例
- C++ multiset crbegin()、crend()用法及代码示例
- C++ multimap rend()用法及代码示例
- C++ map begin()用法及代码示例
- C++ map rbegin()用法及代码示例
注:本文由纯净天空筛选整理自 C++ mktime()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。