溫馨提示×

Go語言時間處理如何格式化輸出

小樊
81
2024-11-07 13:21:45
欄目: 編程語言

在Go語言中,可以使用time包來處理時間和日期。要格式化輸出時間,首先需要創(chuàng)建一個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()函數(shù)獲取當前時間并使用不同格式化模板進行輸出的示例:

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

你可以根據(jù)需要選擇合適的格式化模板來輸出時間。

0