首頁 > 後端開發 > Golang > golang 日期轉時間

golang 日期轉時間

王林
發布: 2023-05-15 11:54:37
原創
789 人瀏覽過

在Go語言裡,日期和時間的處理可以使用time函式庫。 time庫提供了一些函數用於日期和時間的操作,可以非常方便地對日期和時間進行轉換和計算。

首先,我們需要定義一個time.Time類型的變數來表示某個日期和時間。這個類型包括日期和時間訊息,其中日期的單位是天,時間的單位是奈秒。我們可以使用time.Now()函數來取得目前的日期和時間:

now := time.Now()
登入後複製

這個函數傳回的是一個time.Time類型的實例。

要將日期格式化為字串,可以使用time.Format()函數。它的參數是格式字串,描述了日期和時間應該以什麼樣的格式輸出。例如,以下程式碼將日期格式化為YYYY-MM-DD格式的字串:

now := time.Now()
dateStr := now.Format("2006-01-02")
登入後複製

在這個格式字串中,數字部分代表日期和時間的各個部分,例如「2006」代表年份,因為Go語言的發布版本是2006年。月份部分以“01”表示,因為它是一年中的第一個月,日期部分用“02”表示,因為它是一個月中的第二天。

要將字串轉換為日期,可以使用time.Parse()函數。它需要兩個參數:日期字串和格式字串。例如,以下程式碼將一個格式為YYYY-MM-DD的字串轉換為時間:

dateStr := "2021-05-20"
date, err := time.Parse("2006-01-02", dateStr)
if err != nil {
    panic(err)
}
登入後複製

在這個範例中,「2006-01-02」是格式字串,date變數是time.Time類型的實例,它代表了日期和時間。

要將一個時間戳記(以秒為單位的時間)轉換為時間,可以使用time.Unix()函數。它需要兩個參數:時間戳和奈秒偏移量。例如,以下程式碼將時間戳記轉換為時間:

timestamp := 1621527891
nanoSec := 0
time := time.Unix(int64(timestamp), int64(nanoSec))
登入後複製

其中time.Unix()函數傳回一個time.Time類型的實例。

要取得一個時間的年、月、日、時、分、秒、毫秒部分,可以分別呼叫time.Time類型的Year()、Month()、Day()、Hour()、 Minute()、Second()和Nanosecond()方法。例如,以下程式碼取得了目前時間的年、月、日:

now := time.Now()
year := now.Year()
month := now.Month()
day := now.Day()
登入後複製

除此之外,time函式庫還提供了許多其他的函數和類型,例如Duration類型(表示一段時間)、Ticker類型(用於定時調度)、Timer類型(用於延遲執行)、ParseDuration()函數(用於解析時間段字串)等等。

總之,Go語言的time函式庫提供了許多方便的函數和型別,使得日期和時間的處理變得非常簡單。

以上是golang 日期轉時間的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板