在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
你可以根据需要选择合适的格式化模板来输出时间。