我需要一個給定的日期轉換爲包含自1月1日的毫秒數的int 1970(Unix時間戳)C++如何將年 - 月 - 日格式的日期轉換爲unix時代格式?
我嘗試以下的代碼:
tm lDate;
lDate.tm_sec = 0;
lDate.tm_min = 0;
lDate.tm_hour = 0;
lDate.tm_mday = 1;
lDate.tm_mon = 10;
lDate.tm_year = 2010 - 1900;
time_t lTimeEpoch = mktime(&lDate);
cout << "Epoch: " << lTimeEpoch << endl;
結果是曆元:1288584000,其對應於星期一,2010年11月1日04:00:00格林尼治標準時間
編輯:我期待2010年10月1日,顯然tm_mon是自1月以來的月數, 所以正確的行將是lDate.tm_mon = 10 -1 ;
您剛剛做了,那麼問題是什麼?具體來說,你和你想要的有什麼不同? – 2010-10-22 20:36:16
你期待什麼答案(DD MM YYYY等符號)? – Thanatos 2010-10-22 20:36:25