golang 時間格式化總結

2021-10-06 12:23:44 字數 1708 閱讀 1421

通過date.now方法獲取的是基於當地時區的時間

now := date.now()
結果是2019-06-27 10:28:31.282649389 +0800 cst m=+0.000347190,注意是帶了當地時區+08的

通過time.parse將字串轉化為時間型別,是utc時間

before, _:= time.parse("2006-01-02 15:04:05", "2019-06-26 22:06:00")
結果是 2019-06-26 22:06:00 +0000 utc

其實我想做的是,將2019-06-26 22:06:00轉化為東八區的時間,應該用time.parseinlocation方法

local, _:=time.parseinlocation("2006-01-02 15:04:05", "2019-06-26 20:00:00", time.local)

// 2019-06-26 22:06:00 +0800 cst

// local根據上一步建立的是 2019-06-26 22:06:00 +0800 cst

utclocal :=local.utc()

結果是2019-06-26 14:06:00 +0000 utc,轉化為utc時間自動-8小時。

local2 :=utclocal.local()
結果是2019-06-26 22:06:00 +0800 cst

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"

)

golang時間格式化

golang時間處理 相關包 time 當前時間戳 fmt.println time.now unix 1389058332當前格式化時間 fmt.println time.now format 2006 01 02 15 04 05 這是個奇葩,必須是這個時間點,據說是go誕生之日,記憶方法 6 ...

golang之路 時間格式化

有人問了問go的時間格式化問題,於是乎自己嘗試了下,發現巨坑爹,不按常理出牌啊 format的竟然模版必須如下面的每個數字,t time.unix 1362984425,0 nt t.format 2006 01 02 15 04 05 fmt.println nt 附上現有的go格式 const ...

時間格式化總結

時間轉換 例 2019 10 10 15 06 00 2019年10月10日 15時06分00秒 function dateformattime time 時間轉換 例 2019 10 10 15 06 00 2019年10月10日 function dateformat time else els...