Time 开始时间。格式错误
我想根据修改日期重命名一些文件 当我使用Time 开始时间。格式错误,time,go,format,Time,Go,Format,我想根据修改日期重命名一些文件 当我使用time.Format方法获取正确的字符串时,基本上是在这种格式下YYYY-MM-DD\u HH-MM-SS,一天有一个尾随0 我做错什么了吗 package main import ( "time" "fmt" ) func main() { loc, _ := time.LoadLocation("Europe/Berlin") const layout = "2006-01-20_15-04-05"
time.Format
方法获取正确的字符串时,基本上是在这种格式下YYYY-MM-DD\u 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
2013-07-23 21:32:39+0200欧洲标准时间
2013-07-230_21-32-39您的
布局未使用参考日期:将其更改为“2006-01-02_15-04-05”
使用“2006-01-20_15-04-05”
时,格式化程序会看到2
,并将其用于当天,然后保留额外的0
,因为它与参考日期的任何部分都不匹配。是月份还是日期?我可以在白天看到尾随的0
。或者您希望您的月份是7
,而不是07
?顺便说一句,在Go程序中使用前导零作为数字文字的一部分时要小心。我在你的程序中看到文字07
,本能地退缩了。如果你不小心,你可能会不小心使用八进制。在上面的例子中,从技术上讲这不是一个问题,但一般来说,只有当您真正指的是八进制时才使用八进制整数文字。@Ainar-G哦,对不起,我当然指的是当天尾随的0。@dyoo谢谢您的提示。