在Go语言中,可以使用time
包来处理时间和日期。要格式化输出时间,首先需要创建一个time.Time
类型的变量,然后使用Format
方法将其格式化为字符串。以下是一些常用的时间格式化模板:
const (
ANSIC = "Mon Jan _2 15:04:05 2006"
UnixDate = "Mon Jan _2 15:04:05 MST 2006"
RubyDate = "Mon Jan 02 15:04:05 -0700 2006"
RFC822 = "02 Jan 06 15:04 MST"
RFC822Z = "02 Jan 06 15:04 -0700" // RFC822 with numeric zone
RFC850 = "Monday, 02-Jan-06 15:04:05 MST"
RFC1123 = "Mon, 02 Jan 2006 15:04:05 MST"
RFC1123Z = "Mon, 02 Jan 2006 15:04:05 -0700" // RFC1123 with numeric zone
RFC3339 = "2006-01-02T15:04:05Z07:00"
RFC3339Nano = "2006-01-02T15:04:05.999999999Z07:00"
Kitchen = "3:04PM"
// Handy time stamps.
Stamp = "Jan _2 15:04:05"
StampMilli = "Jan _2 15:04:05.000"
StampMicro = "Jan _2 15:04:05.000000"
StampNano = "Jan _2 15:04:05.000000000"
)
下面是一个使用time.Now()
函数获取当前时间并使用不同格式化模板进行输出的示例:
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
// 使用ANSIC格式化输出
fmt.Println("ANSIC:", now.Format(ANSIC))
// 使用UnixDate格式化输出
fmt.Println("UnixDate:", now.Format(UnixDate))
// 使用RubyDate格式化输出
fmt.Println("RubyDate:", now.Format(RubyDate))
// 使用RFC822格式化输出
fmt.Println("RFC822:", now.Format(RFC822))
// 使用RFC1123格式化输出
fmt.Println("RFC1123:", now.Format(RFC1123))
// 使用RFC3339格式化输出
fmt.Println("RFC3339:", now.Format(RFC3339))
// 使用自定义格式化字符串
customFormat := "2006-01-02 15:04:05"
fmt.Println("Custom:", now.Format(customFormat))
}
运行上述代码,你将看到类似以下的输出:
ANSIC: Mon Jan 17 14:30:16 2022
UnixDate: Mon Jan 17 14:30:16 MST 2022
RubyDate: Mon Jan 17 14:30:16 -0700 2022
RFC822: Mon, 17 Jan 2022 14:30:16 MST
RFC1123: Mon, 17 Jan 2022 14:30:16 MST
RFC3339: 2022-01-17T14:30:16Z07:00
Custom: 2022-01-17 14:30:16
你可以根据需要选择合适的格式化模板来输出时间。