Time.Parse 不使用時區資訊
問:為什麼 time.Parse 不使用時區資訊?它應該為不同時區產生不同的時間值。
在提供的範例程式碼中,time.Parse 函數用於解析兩個時間戳,“2018-05-11 IST”和“2018-05” -11 UTC”,使用“2006 -01-02 MST”佈局。但是,輸出顯示兩個時間戳產生相同的Unix時間:
Output: 1525996800 1525996800
這沒有意義,因為IST 和UTC 有不同的時間偏移。 🎜>
這個問題的根源在於不清楚的處理time.Parse中的時區縮寫。 >在提供的範例中,「IST」是一個不明確的縮寫,可能指多個時區(印度、愛爾蘭、以色列等)。將其解釋為偏移量為零的虛構時區,從而有效地忽略了IST 和UTC 之間的實際時間差。 )要解決此問題,有多種選擇可用:
使用數字時區偏移量:
這涉及直接在佈局字串中指定時區偏移量,以確保準確度。此函數可讓您在解析時間時指定自訂時區,消除歧義載入所需的時區:透過載入特定時區(例如IST 的「Asia/Kolkata」)並使用time .ParseInLocation(),您可以確保時間為使用正確的偏移量進行解析。
以上是為什麼 Go 的 `time.Parse` 不能正確使用時區資訊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!