通八洲科技

如何在Golang中使用time.Parse解析时间字符串_Golang time时间解析技巧

日期:2025-12-30 00:00 / 作者:P粉602998670
Go中time.Parse使用固定参考时间“Mon Jan 2 15:04:05 MST 2006”作为layout模板,各字段对应周几、月份、日期、24小时制小时、分钟、秒、时区和年份,需严格按位置匹配;解析时须注意时区处理与错误检查。

在 Go 中用 time.Parse 解析时间字符串,关键不是记格式,而是理解 Go 独特的参考时间(Reference Time)——Mon Jan 2 15:04:05 MST 2006。这个固定时间串就是所有 layout 字符串的模板。

为什么必须用“Mon Jan 2 15:04:05 MST 2006”?

Go 不像其他语言用占位符(如 %Y-%m-%d),而是用一个真实、具体的例子作为布局参照。它的每个部分对应一个时间单位:

常见时间格式对应的 layout 示例

直接照着参考时间改写你的时间字符串结构即可:

解析时要注意时区和错误处理

time.Parse 默认使用本地时区解析,除非 layout 中明确包含时区信息(如 ZMST-0700)。建议显式指定时区或用 time.ParseInLocation 控制上下文:

小技巧:快速生成 layout 的方法

如果手写 layout 容易出错,可以反向操作:先用 time.Now() 打印出目标格式,再把值替换成参考时间字段:

基本上就这些。记不住 layout?贴一张参考时间图在编辑器边栏,比背文档快得多。