Golang 日期轉換
在 Golang 中,日期的表示方式有多種,包括 time.Time、string、int64 等。因此,如何對這些日期進行轉換是一個常見的問題。
本文將介紹 Golang 中日期轉換的常見方法。主要包括以下幾個面向:
time.Time 類型可以使用Format 函數將其轉換成字串。例如:
t := time.Now() str := t.Format("2006-01-02 15:04:05") // 以指定格式转换为字符串
其中,Format 的參數是日期格式化字串,具體格式可以參考 Golang 的文檔。
string 轉 time.Time 可以使用 time.Parse 函數。例如:
str := "2022-03-25 10:30:00" t, err := time.Parse("2006-01-02 15:04:05", str) // 将字符串解析成时间 if err != nil { // 解析失败 }
其中,第一個參數是日期格式化字串,第二個參數是需要解析的字串。如果解析失敗,err 不為空。
在 Golang 中,時間戳通常以 int64 類型表示,可以使用 time.Unix 函數將其轉換成 time.Time 類型。例如:
timestamp := int64(1648238400) t := time.Unix(timestamp, 0) // 将时间戳转换成时间
其中,第一個參數是時間戳,第二個參數是奈秒,可以設定為 0。
time.Time 類型可以使用 Unix 函數將其轉換成時間戳記。例如:
t := time.Now() timestamp := t.Unix() // 将时间转换成时间戳
函數傳回的是 int64 類型的時間戳記。
如果需要將其他格式的日期轉換成time.Time 類型,可以先轉換成string 類型,再使用time. Parse 函數解析。例如:
date := "2022年03月25日 10时30分00秒" layout := "2006年01月02日 15时04分05秒" // 对应日期格式字符串 str, err := time.Parse(layout, date) // 先将其转换成字符串 if err != nil { // 解析失败 } t, err := time.Parse("2006-01-02 15:04:05", str.Format("2006-01-02 15:04:05")) // 再解析成时间 if err != nil { // 解析失败 }
以上就是 Golang 中日期轉換的常見方法。無論是將 time.Time 轉換成 string,還是將 string 轉換成 time.Time,都可以透過 Golang 標準函式庫中的函數進行轉換。對於其他格式的日期,可以先轉換成 string 類型,再使用 time.Parse 函數解析。
以上是golang 日期轉換的詳細內容。更多資訊請關注PHP中文網其他相關文章!