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