C語言time頭文件(time.h)中mktime函數的用法及代碼示例。
用法:
time_t mktime (struct tm * timeptr);
將tm結構轉換為time_t
此函數執行反向翻譯,localtime做。
成員的值tm_wday和tm_yday的timeptr會被忽略,並且其他成員的值也會被解釋,即使超出了它們的有效範圍(請參閱struct tm)。例如,tm_mday可能包含以上值
31
,因此將其解釋為所選月份的最後一天之後的日子。對該函數的調用會自動調整以下成員的值timeptr如果它們是off-range或-tm_wday和tm_yday-如果它們的值與其他成員描述的日期不匹配。
參數
返回值
A time_t與作為參數傳遞的日曆時間相對應的值。如果無法表示日曆時間,則值為
-1
返回。示例
/* mktime example: weekday calculator */
#include <stdio.h> /* printf, scanf */
#include <time.h> /* time_t, struct tm, time, mktime */
int main ()
{
time_t rawtime;
struct tm * timeinfo;
int year, month ,day;
const char * weekday[] = { "Sunday", "Monday",
"Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday"};
/* prompt user for date */
printf ("Enter year: "); fflush(stdout); scanf ("%d",&year);
printf ("Enter month: "); fflush(stdout); scanf ("%d",&month);
printf ("Enter day: "); fflush(stdout); scanf ("%d",&day);
/* get current timeinfo and modify it to the user's choice */
time ( &rawtime );
timeinfo = localtime ( &rawtime );
timeinfo->tm_year = year - 1900;
timeinfo->tm_mon = month - 1;
timeinfo->tm_mday = day;
/* call mktime: timeinfo->tm_wday will be set */
mktime ( timeinfo );
printf ("That day is a %s.\n", weekday[timeinfo->tm_wday]);
return 0;
}
輸出:
Enter year: 2000 Enter month: 5 Enter day: 20 That day is a Saturday. |
相關用法
- C語言 clock用法及代碼示例
- C語言 difftime用法及代碼示例
- C語言 time用法及代碼示例
- C語言 asctime用法及代碼示例
- C語言 ctime用法及代碼示例
- C語言 gmtime用法及代碼示例
- C語言 localtime用法及代碼示例
- C語言 strftime用法及代碼示例
注:本文由純淨天空篩選整理自C標準庫大神的英文原創作品 C mktime function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。