0
我有unixtime字符串,我想用小時和分鐘比較它們。將Unixtime轉換爲可比較的時間
例如:
unixtime1 = 「1327418725」 unixtime2 = 「1327511595」
time_t convertUnixToTime(const char* unixtime){
time_t time = (time_t)atol(unixtime);
return time;
}
我使用的功能,例如:
time_t time1 = convertUnixToTime("1327418725");
struct tm *timeinfo1;
timeinfo1 = localtime(&time1);
time_t time2 = convertUnixToTime("1327511595");
struct tm *timeinfo2;
timeinfo2 = localtime(&time2);
cout << "time: " << asctime(timeinfo1);// << endl;
cout << "time: " << asctime(timeinfo2);// << endl;
和我得到的輸出:
time: Wed Jan 25 09:13:15 2012
time: Wed Jan 25 09:13:15 2012
我不明白爲什麼我會得到同樣的時間,而且我希望能夠在difftime()之後查看它們分開的時間和分鐘數。
任何建議/見解?
但不會更新它在本地時間的第二個呼叫()?它工作順便說一句,謝謝! – jshah
這就是問題所在。 localtime()正在更新每個調用指向的結構。但每次都是一樣的結構。如果你編寫一個小程序連續幾次調用localtime()並打印指針的值,你會發現每次調用後指針都包含相同的地址。 –