1
我想根據修改日期重命名一些文件。Go time.Format錯誤的月份
當我使用time.Format方法以獲得正確的字符串,基本上以這種格式YYYY-MM-DD_HH-MM-SS
,當天有一個尾隨0
有什麼我做錯了嗎?
package main import ( "time" "fmt" ) func main() { loc, _ := time.LoadLocation("Europe/Berlin") const layout = "2006-01-20_15-04-05" t := time.Date(2013, 07, 23, 21, 32, 39, 0, loc) fmt.Println(t) fmt.Println(t.Format(layout)) }
輸出:
2013-07-23 21:32:39 +0200 CEST 2013-07-230_21-32-39
這個月還是一天?我可以在當天看到尾隨的'0'。或者你想讓你的月份變成'7'而不是'07'? – 2014-09-25 15:32:55
順便說一下,在Go程序中使用前導零作爲數字文字的一部分時要小心。我在程序中看到了'07'字樣,本能地畏縮了。如果你不小心,你可能會誤用**八進制**。 https://golang.org/ref/spec#Integer_literals。在上面的例子中,這在技術上並不是問題,但是一般來說,只有當您確實指八進制時才使用八進制整數文字。 – dyoo 2014-09-25 17:59:09
@ Ainar-G哦,對不起,當然,我的意思是當天尾隨0。 – fortrieb 2014-09-26 06:17:38