在C/C++中將本地時間和UTC之間的日期時間轉換爲最佳方式是什麼?在C/C++中在本地時間和GMT/UTC之間轉換
「日期時間」,我的意思是一些時間表示,包含日期和時間。我會很高興與time_t
,struct tm
,或任何其他表示,使它成爲可能。
我的平臺是Linux。
下面是我試圖解決的具體問題:我得到一對值包含朱利安日期和一天秒數。這些值以GMT格式。我需要將它轉換爲本地時區「YYYYMMDDHHMMSS」的值。我知道如何將Julian日期轉換爲Y-M-D,並且顯然很容易將秒轉換爲HHMMSS。然而,棘手的部分是時區轉換。我確信我可以找出解決方案,但我更喜歡找到一種「標準」或「衆所周知」的方式,而不是磕磕絆絆。
一個可能相關的問題是Get Daylight Saving Transition Dates For Time Zones in C
謝謝!我知道像timegm()這樣的東西必須存在,但不知道名稱。 – 2009-04-17 19:22:18
很高興幫助。時間轉換可能是一個相當棘手的領域。只要有可能,以UTC爲單位存儲所有內容通常是個好主意。時區之間的轉換更加棘手! – 2009-04-17 19:24:43