日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

golang中的時(shí)間格式化_Golang

作者:@航空母艦 ? 更新時(shí)間: 2023-05-15 編程語(yǔ)言

golang時(shí)間格式化

科普 CST 含義

CST: 中部標(biāo)準(zhǔn)時(shí)間 (Central Standard Time) 同時(shí)表示下面4個(gè)時(shí)區(qū)

CST Central Standard Time(USA) UT-6:00 CST Central Standard Time(Australia) UT 9:30 CST China Standard Time UT 8:00 CST Cuba Standard Time UT-4:0

我們常遇到的應(yīng)該就是 China Standard Time.

GMT 和 UTC 的關(guān)系

UTC (Universal Time Coordinated), 以子午初線(經(jīng)度0)上的評(píng)價(jià)太陽(yáng)時(shí)為依據(jù), 也就是英國(guó)倫敦的平均太陽(yáng)時(shí)

GMT (Greenwitch Mean Time) 格林威治平均時(shí)間, 由于地球繞太陽(yáng)的運(yùn)行的軌道是橢圓, 導(dǎo)致 UTC 表示的時(shí)間, 不是很準(zhǔn)確, 因此提出了 GMT 時(shí)間, 每年或者2年對(duì) UTC 增加一個(gè)閏秒, 來(lái)完成修正. 一般上我們可以認(rèn)為 GMT 和 UTC 是一樣的.

golang 的時(shí)間 認(rèn)準(zhǔn) "2006-1-2 15:04:05.000 PM Mon Jan GMT " 去格式化就可以了。

也就是1234567,分別對(duì)應(yīng):月日時(shí)分秒年 時(shí)差,很好記憶。

只是稍微注意一下:

  • 月:01或Jan都可以
  • 小時(shí):03表示12小時(shí)制,15表示24小時(shí)制。
  • 時(shí)差:是 -07 ,不是 07,后邊可以增加“00”或“:00”,表示更進(jìn)一步的分秒時(shí)差。
  • 上下午:使用PM,不是AM。
  • 擺放順序:隨意,甚至重復(fù)都可以。源代碼包也有定義的常用格式供使用。
package main
?
import (
?? ?"fmt"
?? ?"time"
)
?
func main() {
?? ?timeNow := time.Now()
?? ?fmt.Println(timeNow.Format("2006-01-02 15:04:05")) // 2022-4-18 14:20:45
?? ?fmt.Println(timeNow.Format("2006/01/02")) ? ? ? ? ?// 2021/06/25
?
?? ?// 獲取當(dāng)前時(shí)間戳
?? ?fmt.Println(time.Now().Unix())
?? ?// 指定的時(shí)間進(jìn)行格式化
?? ?fmt.Println(time.Unix(1650263305, 0).Format("2006-01-02 15:04:05"))
?
?? ?//24小時(shí)之內(nèi)的時(shí)間計(jì)算 ParseDuration
?? ?//1小時(shí)1分1s之前
?? ?t1, _ := timeNow.ParseDuration("-1h1m1s")
?? ?fmt.Println(t1)
?? ?m1 := curtime.Add(t1)
?? ?fmt.Println(m1)
?
? ? //24小時(shí)之外的時(shí)間計(jì)算
?? ?beforeDay := timeNow.AddDate(0, 0, -1) ? ? // 三個(gè)參數(shù)分別是年月日,此處獲取的是前一天的日期
?? ?beforeMonth := timeNow.AddDate(0, -1, 0) ? // 前一個(gè)月的日期
?? ?beforeYear := timeNow.AddDate(-1, 0, 0) ? ?// 去年的當(dāng)天日期
?? ?fmt.Println(beforeDay)
?? ?fmt.Println(beforeMonth)
?? ?fmt.Println(beforeYear)
?? ?fmt.Println(beforeDay.Format("2006-01-02 15:04:05"))
?
?? ?//24小時(shí)
?? ?fmt.Println(timeNow.Format("2006-1-2 15:04:05.000 PM Mon Jan")) // 2021-6-25 10:59:05.410 AM Fri Jun
?? ?fmt.Println(timeNow.Format("2006/01/02 15:04")) ? ? ? ? ? ? ? ? // 2021/06/25 10:59
?? ?fmt.Println(timeNow.Format("2006-1-2 15:04:05.000")) ? ? ? ? ? ?// 2021-6-25 10:59:05.410
?? ?fmt.Println(timeNow.Format("Mon, 02 Jan 2006 15:04:05 GMT")) ? ?// Fri, 25 Jun 2021 10:59:05 GMT
?? ?// 12小時(shí)制
?? ?fmt.Println(timeNow.Format("2006-01-02 03:04:05.000 PM Mon Jan")) // 2021-06-25 10:59:05.410 AM Fri Jun
?? ?fmt.Println(timeNow.Format("15:04 2006/01/02")) ? ? ? ? ? ? ? ? ? // 10:59 2021/06/25
}

golang 格式化時(shí)間 yyyy-MM-dd

固定值

time ?:= "2006-01-02 15:04:05";
  • 20060102:得到的是yyyyMMdd。
  • 2006/01/02 15:04:得到的是yyyy/MM/dd HH:mm
  • 2006年01月02日 15點(diǎn)04分05秒:得到的是yyyy年MM月dd日 HH點(diǎn)mm分SS秒

由來(lái)

2006為Golang誕生時(shí)間,15是下午3點(diǎn)。

幫助記憶的方法:1月2日3點(diǎn)4分5秒,2006年,-7時(shí)區(qū),正好是1234567。

總結(jié)

原文鏈接:https://blog.csdn.net/hudeyong926/article/details/124248713

欄目分類
最近更新