在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
你可以根據需要選擇合適的格式化模板來輸出時間。