我正在尝试格式化一系列日期,例如:
2013-03-12-15.txt
2013-03-12-4.txt
使用golang和Time包
package main
import (
"time"
"fmt"
)
const layout = "2006-01-02-15.txt"
func main() {
t := time.Date(2013, time.March, 12, 4, 0, 0, 0, time.UTC)
fmt.Println(t.Format(layout))
}
不幸的是,哪个数字在单位小时前加上了零:
2013-03-12-04.txt
是否有一种惯用的方式来达到所需的输出,或者我必须使用String软件包对自己进行一些调整?
在此先感谢您的帮助 !
最佳答案
如果您需要24小时格式,并且不希望hour < 10
的前导零,我只会看到自定义字符串格式:
date := fmt.Sprintf("%d-%d-%d-%d", t.Year(), t.Month(), t.Day(), t.Hour())
当然,这不是在Go中格式化日期的惯用方式。
更新(感谢您的评论):
t := time.Now()
date := fmt.Sprintf("%s-%d.txt", t.Format("2006-01-02"), t.Hour())
fmt.Println(date)