Go语言用“Mon Jan 2 15:04:05 MST 2006”作参考时间,通过匹配其格式字符串实现时间格式化,如“2006-01-02 15:04:05”输出标准时间,支持自定义布局和预定义常量如time.RFC3339。

在Go语言中,time包使用一种独特的方式来格式化时间和日期,它不采用像其他语言中的
yyyy-MM-dd HH:mm:ss
这样的格式字符串,而是基于一个固定的参考时间来定义格式模板。
参考时间与格式化模板
Go语言的time包使用如下这个具体的时间作为“模板时间”:
Mon Jan 2 15:04:05 MST 2006
这个时间在数值上是 13:04:05(UTC-7)于2006年1月2日,星期一,并且其各个部分恰好是 Unix 时间戳 1136239445 的可读形式。Go 用这个时间作为“格式占位符”——你只要按照这个时间的格式来写字符串,就能正确格式化输出。
例如:
立即学习“go语言免费学习笔记(深入)”;
2006-01-02 15:04:05
→ 输出形如
2024-04-05 14:30:22
2/1/2006 3:04:05 PM
→ 输出形如
4/5/2024 2:30:22 PM
2006-01-02
→ 仅输出日期部分
15:04:05
→ 仅输出时间部分
使用 Format 方法进行格式化
调用
time.Time
类型的
Format(layout string)
方法即可格式化时间:
t := time.Now()
formatted := t.Format(“2006-01-02 15:04:05”)
fmt.Println(formatted) // 输出:2024-04-05 14:30:22
你可以自定义任意组合,只要符合参考时间中各字段的表示方式即可。
常用预定义格式
Go 提供了一些预定义的常量,可以直接使用:
time.RFC3339
→
2006-01-02T15:04:05Z07:00
time.Stamp
→
Jan _2 15:04:05
time.Kitchen
→
3:04PM
time.ANSIC
→
Mon Jan _2 15:04:05 2006
示例:
fmt.Println(t.Format(time.RFC3339)) // 2024-04-05T14:30:22+08:00
注意事项
Go 的格式化方式容易混淆,因为不是传统占位符。记住这个口诀帮助记忆:
“1月2日下午3点4分5秒,2006年”
对应的就是:
01/02 15:04:05 2006
。只要照这个顺序写,就能正确格式化。
基本上就这些,不复杂但容易忽略细节。
以上就是Golang的time包中如何进行时间和日期的格式化的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1404739.html
微信扫一扫
支付宝扫一扫