從time.h中庫mktime沒有轉換到正確的日期,爲什麼?
tm Tm;
Tm.tm_year = 46;
Tm.tm_mon = 3-1; // since month start with zero
Tm.tm_mday = 23;
Tm.tm_hour = 9;
Tm.tm_min = 3;
Tm.tm_sec = 38;
uint32_t epoch = mktime(&Tm);
epoch
使用標準mktime()函數是1458651818 要:http://www.epochconverter.com並輸入1458651818
輸出:
星期二2016年3月22日9點03分38秒AM EDT GMT-4:00 DST
我在設置日Tm.tm_day = 23;
,而不是22,爲什麼我的時代轉換爲第23?推薦的解決方法是什麼?
那麼,首先,你想time_t,而不是uint32_t .. –
什麼是'Tm'類型?它是'struct tm'的別名嗎? –
至於你的問題,'tm_isdst'成員的價值是什麼?也許你應該初始化它? –