Golang的time包中如何进行时间和日期的格式化

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

golang的time包中如何进行时间和日期的格式化

在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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月15日 20:45:07
下一篇 2025年12月15日 20:45:17

相关推荐

发表回复

登录后才能评论
关注微信