在Go語言中,我們可以非常方便地將字串轉換為時間類型,而且還支援多種時間格式的轉換。本文將介紹如何使用Go語言將字串轉換為時間類型。
一、時間格式化
在進行時間轉換之前,我們需要先了解如何進行時間格式化。 Go語言中,時間格式化使用時間模板來定義,時間模板中的“Mon”, “Jan”, “2”, “15:04:05”, “MST”, “2006”等等都代表了具體的時間內容,這些內容在時間模板中是有特定意義的。以下是一些常用的時間模板:
时间模板 描述 Mon 月份简写 January 月份全称 02 月份中的日,带前导零 2 月份中的日,不带前导零 15 小时(24小时制),带前导零 3:04 PM 小时(12小时制) 04 小时中的分钟,带前导零 5 小时中的分钟,不带前导零 05.000 带秒的小数点 PM 上午/下午标识符 MST 时区缩写 2006 年份,用于参考 06 年份最后两位,用于参考 01 相对于年份的月份,带前导零 Jan 相对于年份的月份,不带前导零 02 相对于月份的日,带前导零
透過上面的時間模板,我們可以定義自己需要的時間格式。
package main import ( "fmt" "time" ) func main() { t := time.Now() fmt.Println(t.Format("2006-01-02 15:04:05")) }
上述程式碼中,我們使用了時間模板「2006-01-02 15:04:05」來格式化時間,最終輸出結果為「2022-05-17 13:23:51」。
二、字串轉時間
在Go語言中,我們可以使用time套件中的Parse方法將字串轉換為時間類型。 Parse方法需要兩個參數,第一個參數是時間字串,第二個參數是時間字串的格式,兩個參數都是字串類型。
package main import ( "fmt" "time" ) func main() { str := "2022-05-17 13:23:51" layout := "2006-01-02 15:04:05" t, _ := time.Parse(layout, str) fmt.Println(t) }
上述程式碼中,我們將時間字串「2022-05-17 13:23:51」以及時間範本「2006-01-02 15:04:05」傳入了time.Parse方法中,最後透過fmt.Println輸出了轉換後的時間。
三、多種時間格式轉換
在實際應用中,我們很可能會遇到多種不同的時間格式,這時候就需要支援多種時間格式轉換。 Go語言提供了time.ParseInLocation方法來支援多種時間格式轉換,ParseInLocation方法需要三個參數,第一個參數是時間字串,第二個參數是時間模板,第三個參數是指定時區。
package main import ( "fmt" "time" ) func main() { str1 := "2022-05-17 13:23:51" layout1 := "2006-01-02 15:04:05" str2 := "2019/01/01 12:00:00" layout2 := "2006/01/02 15:04:05" loc, _ := time.LoadLocation("Asia/Shanghai") t1, _ := time.ParseInLocation(layout1, str1, loc) fmt.Println(t1) t2, _ := time.ParseInLocation(layout2, str2, loc) fmt.Println(t2) }
在上述程式碼中,我們使用了time.ParseInLocation方法來支援兩種不同的時間格式轉換,其中str1和layout1表示第一種時間格式,str2和layout2表示第二種時間格式。透過LoadLocation方法指定時區為“Asia/Shanghai”,最後透過fmt.Println輸出兩種不同格式的時間。
四、總結
在Go語言中,我們可以透過time.Parse和time.ParseInLocation方法將字串轉換為時間類型,並且支援多種時間格式轉換。當我們需要進行時間類型的轉換時,可以使用上述方法,並使用合適的時間模板進行時間格式化。
以上是golang 字元轉時間的詳細內容。更多資訊請關注PHP中文網其他相關文章!