Golang是一種非常流行的程式語言,它的高效性和簡潔性被廣泛認可。在開發應用程式中常常需要進行日期類型的轉換,下面我們來介紹一下Golang日期類型轉換的方法。
在Golang中,日期類型主要有time.Time和string兩種類型。 time.Time型別可以表示一個時間點,而string型別則是一個字串型別表示。要在兩種類型之間進行轉換,可以使用Golang中提供的一些函數來實現。
在Golang中,可以透過time.Parse()函數將一個string類型的日期轉換為time.Time型別。範例如下:
str := "2021-06-01 12:00:00" layout := "2006-01-02 15:04:05" t, err := time.Parse(layout, str) if err != nil { fmt.Println(err) } fmt.Println(t)
解析函數time.Parse()需要傳遞兩個參數:一個是日期字串,另一個是日期字串的格式。在上面的範例中,日期字串是2021-06-01 12:00:00
,格式字串是2006-01-02 15:04:05
。這裡要注意的是,格式字串中的數字必須依照年、月、日、時、分、秒的順序排列,並使用對應的格式符號。
在Golang中,可以透過time.Format()函數將一個time.Time型別的日期轉換為string型別。範例如下:
t := time.Now() layout := "2006-01-02 15:04:05" str := t.Format(layout) fmt.Println(str)
格式化函數time.Format()需要傳遞一個格式字串,該格式字串與解析函數中的字串格式相同。在上面的範例中,取得目前時間使用的是time.Now()
函數,格式字串是2006-01-02 15:04:05
。
在Golang中,可以透過time.Unix()函數將一個Unix時間戳記轉換為time.Time型別。範例如下:
unixTime := int64(1622496000) t := time.Unix(unixTime, 0) fmt.Println(t)
函數time.Unix()需要傳遞兩個參數:一個是Unix時間戳,另一個是納秒的偏移量,這裡使用0作為偏移量即可。
在Golang中,可以透過time.Unix()函數將一個time.Time型別轉換為Unix時間戳記。範例如下:
t := time.Now() unixTime := t.Unix() fmt.Println(unixTime)
函數time.Unix()會傳回一個Unix時間戳,並且該時間戳記是int64類型的。在上面的範例中,取得目前時間使用的是time.Now()
函數。
總結
Golang日期型別轉換並不難,只需要使用適當的函數即可。以上介紹的四種方法可以滿足大部分日期類型轉換的需求。當然,在實際應用上還有許多特殊情況需要考慮,需要根據具體情況進行調整,但這已經足夠幫助我們入門了。
以上是golang 日期類型轉換的詳細內容。更多資訊請關注PHP中文網其他相關文章!