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