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...