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

學無先后,達者為師

網站首頁 編程語言 正文

golang中time包時間處理

作者:abcnull 更新時間: 2023-07-06 編程語言

文章目錄

  • time 包

time 包

UTC or CST

utc 是世界協調時間(標準),cst 是中央標準時間

當UTC時間為0點時,中國CST時間要加 8h,即為8點AM

當UTC時間為0點時,美國CST時間要減 6h,即為18點PM

返回 Time 時間類型

// 返回當前時間 Time 類型
now := time.Now()
fmt.Printf("%v", now)
// 輸出
2022-05-29 19:47:46.435119 +0800 CST m=+0.000401431

// 返回指定時間的 Time 類型 UTC 時間
date := time.Date(2022, 1, 2, 3, 4, 5, 0, time.UTC)
fmt.Printf("%v", date)
// 輸出
2022-01-02 03:04:05 +0000 UTC

拿到 Time 中年月日時分秒類型

// 返回具體年月日時分秒
date := time.Date(2022, 1, 2, 3, 4, 5, 0, time.UTC)
fmt.Printf("%v,%v,%v,%v,%v,%v", date.Year(), date.Month(), date.Day(), date.Hour(), date.Minute(), date.Second())
// 輸出
2022,January,2,3,4,5

格式化 Time 類型輸出

// 格式化 Time 類型輸出,返回 string
date := time.Date(2022, 1, 2, 3, 4, 5, 0, time.UTC)
fmt.Println(date.Format("2006-1-2 15:04:05"))
// 輸出
2022-1-2 03:04:05

求兩個 Time 時間差

// 求兩個 Time 時差 Duration
date1 := time.Date(2022, 1, 2, 3, 4, 5, 0, time.UTC)
date2 := time.Date(2022, 1, 2, 4, 5, 6, 0, time.UTC)
diff := date2.Sub(date1)
fmt.Printf("%v", diff)
// 輸出
1h1m1s

// diff.Hours() 或者 diff.Minutes() 或者 diff.Seconds() 可以把這個 Duration 完全轉成時或分或秒

把時間字符串解析成一種格式

// 把時間 string 解析成一種格式,返回 Time, error
date, _ := time.Parse("2006-01-02 15:04:05", "2022-01-02 03:04:05")
fmt.Printf("%v", date)
// 輸出
2022-01-02 03:04:05 +0000 UTC

unix時間戳

// 當前時間 Time 類型轉 int64 時間戳秒級
now := time.Now()
ts := now.Unix()
nts := now.UnixNano()
fmt.Printf("%v", ts)
fmt.Printf("%v", nts)
// 輸出
1653827591
1653827591000000000

// 時間戳秒級 轉 Time。Unix 函數第一個參數是 sec,第二個參數 nsec
date := time.Unix(1653827353, 0)
fmt.Printf("%v", date)
// 輸出
2022-05-29 20:29:13 +0800 CST

// 時間戳秒級 轉 Time。1s = 1e3 ms,1ms = 1e6 ns
date := time.Unix(0, 1653827353e9)
fmt.Printf("%v", date)
// 輸出
2022-05-29 20:29:13 +0800 CST

原文鏈接:https://abcnull.blog.csdn.net/article/details/125036130

  • 上一篇:沒有了
  • 下一篇:沒有了
欄目分類
最近更新