64,654
社区成员
发帖
与我相关
我的任务
分享
//GMT-5
struct tm tm1;
struct tm tm2;
time_t clock;
//3-8 00:00
memset(&tm1, 0, sizeof(tm1));
memset(&tm2, 0, sizeof(tm2));
tm1.tm_year = 109;
tm1.tm_mon = 2;
tm1.tm_mday = 8;
tm1.tm_hour = 0;
tm1.tm_min = 0;
tm1.tm_sec = 0;
tm1.tm_isdst = 0;
printf("before: %04d-%02d-%02d %02d:%02d:%02d\n", tm1.tm_year+1900,tm1.tm_mon+1,tm1.tm_mday,tm1.tm_hour,tm1.tm_min,tm1.tm_sec);
printf("before: tm_isdst = %d\n", tm1.tm_isdst);
clock = mktime(&tm1);
printf("%d\n", (int)clock);
localtime_r(&clock, &tm2);
printf("after: %04d-%02d-%02d %02d:%02d:%02d\n", tm2.tm_year+1900,tm2.tm_mon+1,tm2.tm_mday,tm2.tm_hour,tm2.tm_min,tm2.tm_sec);
//printf("%s\n", tm1.tm_zone);
printf("------------------------------\n");
//11-2 00:00
memset(&tm1, 0, sizeof(tm1));
memset(&tm2, 0, sizeof(tm2));
tm1.tm_year = 109;
tm1.tm_mon = 10;
tm1.tm_mday = 1;
tm1.tm_hour = 0;
tm1.tm_min = 0;
tm1.tm_sec = 0;
tm1.tm_isdst = 0;
printf("before: %04d-%02d-%02d %02d:%02d:%02d\n", tm1.tm_year+1900,tm1.tm_mon+1,tm1.tm_mday,tm1.tm_hour,tm1.tm_min,tm1.tm_sec);
printf("before: tm_isdst = %d\n", tm1.tm_isdst);
clock = mktime(&tm1);
printf("%d\n", (int)clock);
localtime_r(&clock, &tm2);
printf("after: %04d-%02d-%02d %02d:%02d:%02d\n", tm2.tm_year+1900,tm2.tm_mon+1,tm2.tm_mday,tm2.tm_hour,tm2.tm_min,tm2.tm_sec);