當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。