困倦的時候寫了個個獲取本地時間,列印總比當前時間大8小時,找了很久原因
package main import ( "fmt" "time" ) func main() { now := time.Now() fmt.Println(now) fmt.Println("nowStr:", now.Format("2006-01-02 13:04:05")) }
輸出
2023-02-23 15:40:49.9662692 +0800 CST m=+0.003123801 nowStr: 2023-02-23 23:40:49
發現是東八區時間,但是格式化列印結果就大了8小時
根因:小時格式化字串,小時占位符應該是15,不是13,寫成13 自動被解讀成1和3,1=01為月份,當時是2月份解讀成2,3不屬于占位符作為字串直接輸出,所以如上測驗正好看上去是多了8小時,實際上只是小時位里面寫了個月份+字符“3”.... 坑死我了,還以為是時區哪里搞錯了.....啊啊啊啊啊啊啊啊啊啊
備注:標準占位符年:2006, 月:01, 日:02, 時:15,分:04, 秒:05.
證實如上猜測:
fmt.Println("nowStr:", now.Format("2006-01-02 14:04:05"))

輸出nowStr: 2023-02-23 249:49:10 其中2為月份,49為分鐘,,,,,,,,,,
阿彌陀佛!!!!!!!!

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/544826.html
標籤:其他
下一篇:redis分布式鎖的實作
