当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


C++ mktime()用法及代码示例

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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。