登录
首页 >  Golang >  Go教程

Golang时间格式化方法全解析

时间:2025-11-03 16:29:30 294浏览 收藏

想要在Golang中轻松驾驭时间格式化?本文为你详细解读Go语言中独特的时间格式化方法。Go 采用`Mon Jan 2 15:04:05 MST 2006`作为参考时间,通过匹配格式字符串来实现时间的格式化,例如使用`2006-01-02 15:04:05`即可输出标准时间格式。文章将深入讲解如何利用`time.Time`类型的`Format`方法进行自定义布局,以及如何使用`time.RFC3339`等预定义常量。掌握这些技巧,让你在Golang的时间处理中游刃有余,告别时间格式化的困扰!

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 用这个时间作为“格式占位符”——你只要按照这个时间的格式来写字符串,就能正确格式化输出。

例如:

  • 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.RFC33392006-01-02T15:04:05Z07:00
  • time.StampJan _2 15:04:05
  • time.Kitchen3:04PM
  • time.ANSICMon 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时间格式化方法全解析》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>