go標準包time的格式化format

2021-10-05 12:42:43 字數 1066 閱讀 5330

go語言有乙個特殊的日期格式化功能,許多人都說他很坑,為什麼呢?

因為在格式化的時候,你只能使用固定的乙個時間來格式化,即:

北美山地時間(mst:mountain standard time)2023年1月2日下午(pm)3點4分5秒這個時間。

許多人都說,這是golang的自戀行為,因為傳言說這就是go語言誕生的時間,但是究其根源,其實並不是這樣。

如果你仔細觀察就會發現,其實這個時間排列一下就是:

1,2,3,4,5,6,7

依次對應:(括號內的形式均可,pm大小寫均可,月份只能首字母大寫,順序不限,但他們之間必須要有空格、"-"、"|"等形式的分割符)

時間支援的形式

對應數字

一月(jan)(january)(1)(01)1二日

(2)(02)

2下午三點

(15)(03 pm)(3 pm)(3)(3 pm)(03 pm)3四分

(4)(04)4五秒

(5)(05)5六年

(2006)(006)(06)

6七時區

(mst)(mst)(-07)(-070)(-0700)(-07:00)

7

func

main()

控制台輸出:

04/27 04:29:36pm '20 +0800

2020-april-27 04:29:36.29 pm

2020-apr-27 04:29:36.29 pm

20-apr-27 04:29:36.29 pm

020-apr-27 04:29:36.29 pm

020-apr-27 04:29:36.29 pm cst

020-apr-27 04:29:36.29 pm +08

020-apr-27 04:29:36.29 pm +080

020-apr-27 04:29:36.29 pm mst

020-apr-27 04:29:36.29 pm +08:00

除此之外還有許多其他寫法,詳情請參閱go官網

使用time包將時間戳格式化

jdk1.8新增了time包工具類,這個包下的類datetimeformatter可以做時間的格式化,但是這個類只能格式化time下的物件,因此需要先將時間戳轉成time下的時間物件 localdatetime datetime localdatetime.ofinstant instant.ofe...

go 格式化輸出

參考文章 go語言fmt包printf方法詳解 t 變數的型別資訊 v 變數的位址 p 帶0x的指標 p 不帶0x的指標 t bool,布林型 d 整數 0nd 規定輸出長度為n的整數,其中開頭的數字 0 是必須的,如果整數長度小於n,則用0補齊 b 2進製形式 o 8進製形式 x 16進製制形式,...

go 日誌格式化

go 語言擁有一些不需要進行匯入操作就可以使用的內建函式。根據設定的日誌格式列印日誌資訊,日誌格式根據標誌位 std 的 bit 資訊確定,可組合使用,log 本身也內建了一些日誌格式 bit 1 為 1 列印日期資訊 bit 1 為 1 列印時間資訊 bit 1 為 1 列印時間的毫秒資訊 bit...