Go语言学习: 日期格式化

时间日期格式化
更新于: 2024-10-29 20:34:16

场景

在Go语言中,时间格式化使用固定的参考时间 2006-01-02 15:04:05 来表示格式,而不是像 YYYY-MM-DD 这种通用的格式。可以通过 time 包中的 FormatParse 方法来进行格式化和解析。

main.go

package main

import (
	"fmt"
	"time"
)

func main() {
	// 获取当前时间
	now := time.Now()

	// 格式化为年-月-日 时:分:秒
	fmt.Println(now.Format("2006-01-02 15:04:05"))

	// 格式化为月/日/年
	fmt.Println(now.Format("01/02/2006"))

	// 格式化为时:分:秒 PM
	fmt.Println(now.Format("03:04:05 PM"))

	// 格式化为RFC3339格式
	fmt.Println(now.Format(time.RFC3339))
}

常用格式说明

  • 2006 表示年
  • 01 表示月
  • 02 表示日
  • 15 表示24小时制的小时
  • 03 表示12小时制的小时
  • 04 表示分钟
  • 05 表示秒
  • PM 表示上下午(12小时制)

解析时间字符串

使用 Parse 方法可以将一个字符串解析为 time.Time 对象:

package main

import (
	"fmt"
	"time"
)

func main() {
	// 要解析的时间字符串
	timeStr := "2024-10-29 14:45:00"

	// 使用相同格式的参考时间进行解析
	t, err := time.Parse("2006-01-02 15:04:05", timeStr)
	if err != nil {
		fmt.Println("解析错误:", err)
	} else {
		fmt.Println("解析成功:", t)
	}
}