我想製作一個程序,其中用戶將輸入他/她的生日,該程序將計算他們已經生活了多少天,幾個月,幾年,幾小時和幾分鐘。如何在C++中分割日期和時間?
我搜索了Google,我發現有一種方法可以將日期分成三至四個部分。
我已複製此代碼,它似乎工作。只是我不明白這一點。我讀過的所有論壇都沒有幫助。任何人都可以解釋給我嗎?
time_t t = time(NULL);
tm* timePtr = localtime(&t);
cout << "seconds= " << timePtr->tm_sec << endl;
cout << "minutes = " << timePtr->tm_min << endl;
cout << "hours = " << timePtr->tm_hour << endl;
cout << "day of month = " << timePtr->tm_mday << endl;
cout << "month of year = " << timePtr->tm_mon << endl;
cout << "year = " << timePtr->tm_year + 1900 << endl;
cout << "weekday = " << timePtr->tm_wday << endl;
cout << "day of year = " << timePtr->tm_yday << endl;
cout << "daylight savings = " << timePtr->tm_isdst << endl;
哪一部分你不明白? – 2012-03-18 20:35:10
您需要在月份中添加一個以獲得傳統的月份編號(1月爲1,但'tm_mon'在1月份使用0等),但您已經考慮了年份加上1900年。還有什麼需要解釋? 'localtime()'適用於你程序當前的時區;你可以使用'gmtime()'來確定時間值w.r.t UTC(又名GMT)。時區通常會讓生活更加複雜。 – 2012-03-18 20:35:50
在那段代碼中沒有太多東西需要理解,** localtime()**函數爲你完成所有的骯髒工作,你只需訪問** tm **字段來讀取結果(** time_t **保留日期以緊湊形式顯示,而** tm **將組件中的日期(秒,分鐘,小時,日,月,年和其他有用信息)分割。 – 2012-03-18 20:37:14