在Golang中,我們可以非常方便地進行日期的設定和計算,在本文中我們將詳細介紹如何使用Golang進行日期設定。
一、日期格式化
在Golang中,我們使用time套件來設定和處理時間,它包含了大量的日期格式化方法,讓我們能夠輕鬆地進行日期和時間的格式化輸出。
在設定日期格式之前,我們需要先掌握一些常用的日期格式:
日期格式 | ##說明|
---|---|
#. | |
1 | |
#我們可以根據需要將這些日期格式組合成各種不同的日期輸出格式,在下面的程式碼中我們使用了多種日期輸出格式:
package main import ( "fmt" "time" ) func main() { // 获取当前时间 now := time.Now() // 输出当前时间的年月日 fmt.Println(now.Format("2006-01-02")) // 输出当前时间的小时:分钟:秒 fmt.Println(now.Format("15:04:05")) // 输出当前时间的年月日小时:分钟:秒 fmt.Println(now.Format("2006-01-02 15:04:05")) // 输出当前时间的星期几,例如:星期一 fmt.Println(now.Weekday().String()) // 输出当前时间的月份,例如:1月 fmt.Println(now.Month().String()) }
運行結果:
2021-08-15 22:08:30 2021-08-15 22:08:30 Sunday August
二、設定日期
在Golang中,我們可以使用time套件來設定日期,有以下幾種方法:
透過字串設定日期####我們可以透過Parse方法將字串轉換為日期,例如:###package main import ( "fmt" "time" ) func main() { // 获取当前时间 now := time.Now() // 声明需要转换的时间字符串 str := "2021-08-16" // 将时间字符串转换为日期 t, err := time.Parse("2006-01-02", str) if err != nil { panic(err) } // 输出转换后的日期 fmt.Println(t) }
2021-08-16 00:00:00 +0000 UTC
package main import ( "fmt" "time" ) func main() { // 声明需要设置的年月日 year := 2021 month := time.January day := 16 // 获取当前时间 now := time.Now() // 构造需要设置的日期 t := time.Date(year, month, day, now.Hour(), now.Minute(), now.Second(), now.Nanosecond(), now.Location()) // 输出设置后的日期 fmt.Println(t) }
2021-01-16 22:19:22.610037702 +0800 CST m=+0.000105663
package main import ( "fmt" "time" ) func main() { // 获取当前时间 now := time.Now() // 计算3天前的时间 t := now.AddDate(0, 0, -3) // 输出计算后的日期 fmt.Println(t) }
2021-08-12 23:19:22.610037702 +0800 CST m=-259199.999894337
以上是golang 設定日期的詳細內容。更多資訊請關注PHP中文網其他相關文章!