在Go中将当前时间格式化为yyyyMMddHHmmss格式
大家好!我刚开始学习Go,遇到了时间格式化的问题。我需要获取当前日期和时间,格式类似于Java的yyyyMMddHHmmss,以便在日志文件名中使用。
我尝试写了代码,但输出了一些奇怪的东西:
```go
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
fmt.Println(now.Format("yyyyMMddHHmmss"))
}
```
我期望得到"20250315143022",但实际上得到了"yyyymmddHHmmss"——字面上的格式字符串。我知道在其他语言(Java、Python)中,这是不同的。在Python中,我会写`datetime.now().strftime("%Y%m%d%H%M%S")`,然后一切正常。
我查阅了Go的time包文档,但那里有一些奇怪的格式,比如"Mon Jan 2 15:04:05 MST 2006"。我完全糊涂了。为什么Go不支持常见的格式?如何正确格式化时间?
我需要的正是yyyyMMddHHmmss——年份4位数字,月份2位数字,日期2位数字,小时2位数字,分钟2位数字,秒数2位数字。