Time.Parse() 由於縮寫不明確而無法處理時區資訊
嘗試解釋時間戳時的time.Parse() 函數使用時區縮寫(例如“MST”)會遇到一些限制。具體來說,如果縮寫時區在當前位置未明確定義或不明確(例如“IST”,它可以表示多個時區),則函數會假定偏移量為零的製造位置。
This在解析和比較具有不同時區縮寫的時間戳時,行為會導致差異。例如,在提供的程式碼中:
儘管表示各自時區中的不同時刻,但「2018-05-11 IST」和「2018-05-11 UTC」都是按時間解析的。 Parse() 具有相同的零偏移量。因此,它們的 Unix 時間戳記是相同的,表示相同的時間值。
要解決此問題,請考慮使用具有數位區域偏移量的時間佈局,例如「-0700」表示與 UTC 相差 7 小時。或者,考慮將 time.ParseInLocation() 與手動建置的 FixZone 結合使用或載入特定時區位置(例如,印度 IST 的「亞洲/加爾各答」)。這些方法可以更精確地控制時區處理並確保準確的時間解析。
以上是為什麼 Go 的 `time.Parse()` 由於時區縮寫不明確而失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!