登录
首页 >  Golang >  Go教程

Golang时间格式化方法详解

时间:2025-11-27 15:30:32 101浏览 收藏

知识点掌握了,还需要不断练习才能熟练运用。下面golang学习网给大家带来一个Golang开发实战,手把手教大家学习《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学习网公众号!

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