使用Golang打印特定的日期時(shí)間的操作
基本時(shí)間操作
首先,我們來看一些基本的時(shí)間操作。
獲取當(dāng)前時(shí)間可以使用time.Now()
函數(shù),它會(huì)返回當(dāng)前的時(shí)間對(duì)象,類型為time.Time
。以下是一個(gè)示例:
package main import ( "fmt" "time" ) func main() { currentTime := time.Now() fmt.Println("Current time is", currentTime) }
輸出結(jié)果類似于:
Current time is 2022-05-24 11:07:36.710239 +0800 CST m=+0.000149139
這里的格式是默認(rèn)的,如果我們想要按照特定的格式來輸出時(shí)間,需要使用time.Format()
函數(shù)
package main import ( "fmt" "time" ) func main() { currentTime := time.Now() fmt.Println("Current time is", currentTime.Format("2006-01-02 15:04:05")) }
輸出結(jié)果類似于:
Current time is 2022-05-24 11:08:11
這里使用了一個(gè)特殊的日期格式字符串"2006-01-02 15:04:05"
,它的含義是:
- 2006 表示年份
- 01 表示月份
- 02 表示日期
- 15 表示小時(shí)
- 04 表示分鐘
- 05 表示秒鐘
需要注意的是,格式字符串中的數(shù)字必須是這些特定的數(shù)字,否則會(huì)出現(xiàn)錯(cuò)誤。
我們也可以使用time.Parse()
函數(shù)將一個(gè)字符串轉(zhuǎn)化為time.Time
對(duì)象。
package main import ( "fmt" "time" ) func main() { timeStr := "2022-05-24 11:08:11" parsedTime, _ := time.Parse("2006-01-02 15:04:05", timeStr) fmt.Println("Parsed time is", parsedTime) }
輸出結(jié)果類似于:
Parsed time is 2023-05-24 11:08:11 +0000 UTC
特定日期時(shí)間格式
在上面的示例中,我們使用了一個(gè)特定的日期格式字符串。下面列舉一些常用的特定日期時(shí)間格式:
2006-01-02
:日期,如 2023-05-2415:04:05
:時(shí)間,如 11:08:112006-01-02 15:04:05
:日期時(shí)間,如 2023-05-24 11:08:1101/02/06 3:04 PM
:美國(guó)日期時(shí)間格式,如 05/24/22 11:08 AM02/01/2006 15:04
:歐洲日期時(shí)間格式,如 24/05/2022 11:08
除了上面的格式外,Golang還提供了更豐富的特定日期時(shí)間格式,請(qǐng)參考官方文檔了解更多信息。
自定義日期時(shí)間格式
如果上面提供的特定日期時(shí)間格式無(wú)法滿足我們的需求,我們可以自定義日期時(shí)間格式。
package main import ( "fmt" "time" ) func main() { currentTime := time.Now() customFormat := "2006年01月02日 15點(diǎn)04分05秒" fmt.Println("Current time is", currentTime.Format(customFormat)) }
輸出結(jié)果類似于
Current time is 2023年05月24日 11點(diǎn)14分53秒
解析不同格式的日期時(shí)間字符串
有時(shí)候我們會(huì)遇到各種各樣的日期時(shí)間字符串格式,這時(shí)我們需要能夠正確地解析它們
package main import ( "fmt" "time" ) func main() { timeStr := "2023-05-24 11:08:11" parsedTime, _ := time.Parse("2006-01-02 15:04:05", timeStr) fmt.Println("Parsed time is", parsedTime) timeStr2 := "05/24/22 11:08 AM" parsedTime2, _ := time.Parse("01/02/06 3:04 PM", timeStr2) fmt.Println("Parsed time is", parsedTime2) timeStr3 := "2023年05月24日 11點(diǎn)14分53秒" parsedTime3, _ := time.Parse("2006年01月02日 15點(diǎn)04分05秒", timeStr3) fmt.Println("Parsed time is", parsedTime3) }
獲取指定日期時(shí)間
有時(shí)候我們需要獲取指定的日期時(shí)間,可以使用time.Date()
函數(shù)。
package main import ( "fmt" "time" ) func main() { specTime := time.Date(2023, 5, 24, 12, 0, 0, 0, time.Local) fmt.Println("Specified time is", specTime.Format("2006-01-02 15:04:05")) }
輸出結(jié)果類似于:
Specified time is 2022-05-24 12:00:00
到此這篇關(guān)于使用Golang打印特定的日期時(shí)間的操作的文章就介紹到這了,更多相關(guān)Golang打印特定的日期時(shí)間內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
golang gin ShouldBind的介紹和使用示例詳解
在 Go 語(yǔ)言的 Gin 框架中,ShouldBind 是用于將請(qǐng)求中的數(shù)據(jù)綁定到結(jié)構(gòu)體的一個(gè)方法,它簡(jiǎn)化了從請(qǐng)求中提取參數(shù)的過程,支持多種數(shù)據(jù)格式,下面給大家分享golang gin ShouldBind的介紹和使用示例,感興趣的朋友一起看看吧2024-10-10go語(yǔ)言處理TCP拆包/粘包的具體實(shí)現(xiàn)
TCP的拆包/粘包也算是網(wǎng)絡(luò)編程中一個(gè)比較基礎(chǔ)的問題了,本文主要介紹了go語(yǔ)言處理TCP拆包/粘包,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12beego獲取ajax數(shù)據(jù)的實(shí)例
下面小編就為大家分享一篇beego獲取ajax數(shù)據(jù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2017-12-12CentOS 32 bit安裝golang 1.7的步驟詳解
Go是Google開發(fā)的一種編譯型,并發(fā)型,并具有垃圾回收功能的編程語(yǔ)言。在發(fā)布了6個(gè)rc版本之后,Go 1.7終于正式發(fā)布了。本文主要介紹了在CentOS 32 bit安裝golang 1.7的步驟,文中給出了詳細(xì)的步驟,相信對(duì)大家的學(xué)習(xí)和理解具有一定的參考借鑒價(jià)值,下面來一起看看吧。2016-12-12Golang實(shí)現(xiàn)Java虛擬機(jī)之解析class文件詳解
這篇文章主要為大家詳細(xì)介紹了Golang實(shí)現(xiàn)Java虛擬機(jī)之解析class文件的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-01-01