將 YYYYMMDD 字串轉換為 Go 中的有效日期
任務是將 YYYYMMDD 字串轉換為 Go 中的有效日期。例如,“20101011”到“2010-10-11”。
嘗試與失敗:
嘗試使用以下兩者:
但是,都沒有產生正面的結果。
解決方案:
time 套件提供了一系列預先定義的佈局,可以在 Time.Format() 和 Time.Parse( ) 方法。對於 YYYYMMDD 格式,對應的佈局字串為「20060102」。若要取得 YYYY-MM-DD 格式,請使用佈局字串「2006-01-02」。
實作:
<code class="go">package main import ( "fmt" "time" ) func main() { now := time.Now() fmt.Println(now) // Output: 2009-11-10 23:00:00 +0000 UTC // Convert the current time to a string in YYYYMMDD format date := now.Format("20060102") fmt.Println(date) // Output: 20091110 // Convert the current time to a string in YYYY-MM-DD format date = now.Format("2006-01-02") fmt.Println(date) // Output: 2009-11-10 // Parse a string in YYYYMMDD format back into a date date2, err := time.Parse("20060102", "20101011") if err == nil { fmt.Println(date2) // Output: 2010-10-11 00:00:00 +0000 UTC } }</code>
輸出:
2009-11-10 23:00:00 +0000 UTC 20091110 2009-11-10 2010-10-11 00:00:00 +0000 UTC
以上是如何在 Go 中將 YYYYMMDD 字串轉換為有效日期?的詳細內容。更多資訊請關注PHP中文網其他相關文章!