如何使用Go語言獲取當(dāng)天、昨天、明天、某天0點時間戳以及格式化時間
獲取當(dāng)前時間 到 明天0點整的時間差的秒級時間戳的字符串形式
func GetTimeDifference() string {
nowTime := time.Now()
// 當(dāng)天秒級時間戳
nowTimeStamp := nowTime.Unix()
nowTimeStr := nowTime.Format("2006-01-02")
//使用Parse 默認(rèn)獲取為UTC時區(qū) 需要獲取本地時區(qū) 所以使用ParseInLocation
t2, _ := time.ParseInLocation("2006-01-02", nowTimeStr, time.Local)
// 第二天零點時間戳
towTimeStamp := t2.AddDate(0, 0, 1).Unix()
return strconv.FormatInt(towTimeStamp - nowTimeStamp, 10)
}
當(dāng)天0點時間戳
addTime := time.Date(t.Year(), t.Month(), t.Day(), 0, 0, 0, 0, t.Location()) timeSamp := addTime.Unix() fmt.Println(timeSamp) // 1649952000

當(dāng)天0點格式化時間:
t := time.Now()
addTime := time.Date(t.Year(), t.Month(), t.Day(), 0, 0, 0, 0, t.Location())
timeStr := addTime.Format("2006-01-02")
fmt.Println(timeStr) // 2022-04-15昨日0點時間戳:
ts := time.Now().AddDate(0, 0, -1) timeYesterday := time.Date(ts.Year(), ts.Month(), ts.Day(), 0, 0, 0, 0, ts.Location()) timeStampYesterday := timeYesterday.Unix() fmt.Println(timeStampYesterday) // 1649865600
昨日0點格式化時間:
ts := time.Now().AddDate(0, 0, -1)
timeYesterday := time.Date(ts.Year(), ts.Month(), ts.Day(), 0, 0, 0, 0, ts.Location()).Unix()
timeStr := time.Unix(timeYesterday, 0).Format("2006-01-02")
fmt.Println(timeStr) // 2022-04-14或者
ts := time.Now().AddDate(0, 0, -1)
timeYesterday := time.Date(ts.Year(), ts.Month(), ts.Day(), 0, 0, 0, 0, ts.Location())
timeStr := timeYesterday.Format("2006-01-02")
fmt.Println(timeStr) // 2022-04-14某天的明天0點整
例子1:
過去某天,如 2022-02-28 第二天0點整:2022-03-01 00:00:00
nowTimeStr := "2022-02-28"
//使用Parse 默認(rèn)獲取為UTC時區(qū) 需要獲取本地時區(qū) 所以使用ParseInLocation
t2, _ := time.ParseInLocation("2006-01-02", nowTimeStr, time.Local)
towTimeStamp := t2.AddDate(0, 0, 1).Unix()
towTimeStr := time.Unix(towTimeStamp, 0).Format("2006-01-02 15:04:05")
fmt.Println(towTimeStr) // 2022-03-01 00:00:00例子2:
未來某天,如 2022-04-30 第二天0點整:2022-05-01
nowTimeStr := "2022-04-30"
//使用Parse 默認(rèn)獲取為UTC時區(qū) 需要獲取本地時區(qū) 所以使用ParseInLocation
t2, _ := time.ParseInLocation("2006-01-02", nowTimeStr, time.Local)
towTimeStamp := t2.AddDate(0, 0, 1).Unix()
towTimeStr := time.Unix(towTimeStamp, 0).Format("2006-01-02")
fmt.Println(towTimeStr) // 2022-05-01某天的前一天0點整
2022-04-01 前一天0點整:2022-03-31 00:00:00
nowTimeStr := "2022-04-01"
//使用Parse 默認(rèn)獲取為UTC時區(qū) 需要獲取本地時區(qū) 所以使用ParseInLocation
t2, _ := time.ParseInLocation("2006-01-02", nowTimeStr, time.Local)
towTimeStamp := t2.AddDate(0, 0, -1).Unix()
towTimeStr := time.Unix(towTimeStamp, 0).Format("2006-01-02 15:04:05")
fmt.Println(towTimeStr) // 2022-03-31 00:00:00總結(jié)
到此這篇關(guān)于如何使用Go語言獲取當(dāng)天、昨天、明天、某天0點時間戳以及格式化時間的文章就介紹到這了,更多相關(guān)Go語言獲取當(dāng)前時間戳及格式化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
go語言 swagger 查詢 json 字段注釋的示例代碼
在Go語言中,使用Swagger通過swag工具和gin-gonic框架生成API文檔,涉及引入依賴、定義模型、添加注釋等步驟,示例中展示了如何為接受查詢參數(shù)的API端點添加注釋,感興趣的朋友跟隨小編一起看看吧2024-09-09
sublime text3解決Gosublime無法自動補全代碼的問題
本文主要介紹了sublime text3解決Gosublime無法自動補全代碼的問題,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01
Go/C語言LeetCode題解997找到小鎮(zhèn)法官
這篇文章主要為大家介紹了Go語言LeetCode題解997找到小鎮(zhèn)的法官示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12

