在 Go 中檢查夏令時
確定當前本地時間是否處於夏令時 (DST) 是一種常見的需求編程。雖然 Ruby 等一些語言為此目的提供了專用函數,但 Go 標準庫中是否有類似的方法?
Go 1.17 的 Time.IsDST
與2021 年 8 月發布 Go 1.17 後,time.Time 類型獲得了一個名為 IsDST 的新方法。此方法根據時間物件的配置位置傳回布林值,指示時間是否屬於夏令時期間。
用法
檢查是否當前當地時間是DST 期間,您可以使用以下程式碼:
<code class="go">package main import ( "fmt" "time" ) func main() { now := time.Now() isDST := now.IsDST() fmt.Printf("Current local time is %s DST: %t\n", now.Format("2006-01-02 15:04:05"), isDST) }</code>
此程式碼將輸出一些內容例如:
Current local time is 2023-03-08 15:04:05 DST: true
表示目前時間是夏令時。
歷史夏令時資訊
如果您需要有關以下內容的更多詳細資訊歷史DST 時段,例如開始日期和結束日期,您可以使用time.DST函數,函數傳回*time.DSTZone提供此資訊的結構。但是,您應該注意,此方法已被棄用,並且可能會在 Go 的未來版本中刪除。
以上是Go 有內建方法來檢查夏令時嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!