Golang格式化時間

2021-10-14 13:10:50 字數 4339 閱讀 7087

golang時間型別通過自帶的 format 方法進行格式化。

需要注意的是go語言中格式化時間模板不是常見的y-m-d h:m:s而是使用go語言的誕生時間2006-01-02 15:04:05 -0700 mst

為了記憶方便,按照美式時間格式 月日時分秒年 外加時區 排列起來依次是01/02 03:04:05pm 『06 -0700,剛開始使用時需要注意。

實際專案中,format 函式中可以自定義時間格式,也可以使用time包中的預定義格式:

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包中,定義了年、月、日、時、分、秒、周、時區的多種表現形式:

根據以上提供的資料,我們可以組合成多種格式化模板,示例**如下:

func

main()

: ", currenttime.

format

("2006#01#02"))

fmt.

println

("yyyy-mm-dd hh:mm:ss : "

, currenttime.

format

("2006-01-02 15:04:05"))

fmt.

println

("time with microseconds: "

, currenttime.

format

("2006-01-02 15:04:05.000000"))

fmt.

println

("time with nanoseconds: "

, currenttime.

format

("2006-01-02 15:04:05.000000000"))

fmt.

println

("shortnum month : "

, currenttime.

format

("2006-1-02"))

fmt.

println

("longmonth : "

, currenttime.

format

("2006-january-02"))

fmt.

println

("shortmonth : "

, currenttime.

format

("2006-jan-02"))

fmt.

println

("shortyear : "

, currenttime.

format

("06-jan-02"))

fmt.

println

("longweekday : "

, currenttime.

format

("2006-01-02 15:04:05 monday"))

fmt.

println

("shortweek day : "

, currenttime.

format

("2006-01-02 mon"))

fmt.

println

("shortday : "

, currenttime.

format

("mon 2006-01-2"))

fmt.

println

("short hour minute second: "

, currenttime.

format

("2006-01-02 3:4:5"))

fmt.

println

("short hour minute second: "

, currenttime.

format

("2006-01-02 3:4:5 pm"))

fmt.

println

("short hour minute second: "

, currenttime.

format

("2006-01-02 3:4:5 pm"))

}

輸出結果:

當前時間  :

2020-06

-0110:

10:46.1551731

+0800 cst m=

+0.002992001

當前時間字串:

2020-06

-0110:

10:46.1551731

+0800 cst m=

+0.002992001

mm-dd-yyyy :06-

01-2020

yyyy-mm-dd :

2020-06

-01yyyy.mm.dd :

2020.06

.0110:10

:46yyyy#mm#dd

:2020#06#01

yyyy-mm-dd hh:mm:ss :

2020-06

-0110:

10:46time with microseconds:

2020-06

-0110:

10:46.155173

time with nanoseconds:

2020-06

-0110:

10:46.155173100

shortnum month :

2020-6

-01longmonth :

2020

-june-

01shortmonth :

2020

-jun-

01shortyear :

20-jun-

01longweekday :

2020-06

-0110:

10:46 monday

shortweek day :

2020-06

-01 mon

shortday : mon 2020-06

-1short hour minute second:

2020-06

-0110:

10:46short hour minute second:

2020-06

-0110:

10:46 am

short hour minute second:

2020-06

-0110:

10:46 am

格式化時間

對date的擴充套件,將 date 轉化為指定格式的string 月 m 日 d 小時 h 分 m 秒 s 季度 q 可以用 1 2 個佔位符,年 y 可以用 1 4 個佔位符,毫秒 s 只能用 1 個佔位符 是 1 3 位的數字 例子 new date format yyyy mm dd hh m...

格式化時間

1.日期格式化就是對日期字串進行解析和格式化輸出 2.在軟體系統中,展現層的日期資料為字串,邏輯層的日期為date物件,儲存層的日期資料為時間戳 3.日期格式化就是在不同層次之間進行資料轉換 時間戳 date物件 格式化字串 utc universal time coordinated 是世界統一時...

格式化時間間隔

格式化時間 時間間隔單位統一用小時來判斷 時間據現在時間60分鐘以內 包括60分鐘 顯示x分鐘前 小於1小時 時間據現在時間1小時以上24小時以內 包括24小時 顯示x小時前 1 24小時 時間據現在時間24小時以上,10天以內 包括10天 顯示x天前 24 240小時 時間據現在時間10天以上,則...