获取当前时间 到 明天0点整的时间差的秒级时间戳的字符串形式
func GetTimeDifference() string {nowTime := time.Now()// 当天秒级时间戳nowTimeStamp := nowTime.Unix()nowTimeStr := nowTime.Format("-01-02")//使用Parse 默认获取为UTC时区 需要获取本地时区 所以使用ParseInLocationt2, _ := time.ParseInLocation("-01-02", nowTimeStr, time.Local)// 第二天零点时间戳towTimeStamp := t2.AddDate(0, 0, 1).Unix()return strconv.FormatInt(towTimeStamp - nowTimeStamp, 10)}
当天0点时间戳
addTime := time.Date(t.Year(), t.Month(), t.Day(), 0, 0, 0, 0, t.Location())timeSamp := addTime.Unix()fmt.Println(timeSamp) // 1649952000
当天0点格式化时间:
t := time.Now()addTime := time.Date(t.Year(), t.Month(), t.Day(), 0, 0, 0, 0, t.Location())timeStr := addTime.Format("-01-02")fmt.Println(timeStr) // -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("-01-02")fmt.Println(timeStr) // -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("-01-02")fmt.Println(timeStr) // -04-14
某天的明天0点整
例子1:
过去某天,如-02-28 第二天0点整:-03-01 00:00:00
nowTimeStr := "-02-28"//使用Parse 默认获取为UTC时区 需要获取本地时区 所以使用ParseInLocationt2, _ := time.ParseInLocation("-01-02", nowTimeStr, time.Local)towTimeStamp := t2.AddDate(0, 0, 1).Unix()towTimeStr := time.Unix(towTimeStamp, 0).Format("-01-02 15:04:05")fmt.Println(towTimeStr) // -03-01 00:00:00
例子2:
未来某天,如 -04-30 第二天0点整:-05-01
nowTimeStr := "-04-30"//使用Parse 默认获取为UTC时区 需要获取本地时区 所以使用ParseInLocationt2, _ := time.ParseInLocation("-01-02", nowTimeStr, time.Local)towTimeStamp := t2.AddDate(0, 0, 1).Unix()towTimeStr := time.Unix(towTimeStamp, 0).Format("-01-02")fmt.Println(towTimeStr) // -05-01
某天的前一天0点整
-04-01 前一天0点整:-03-31 00:00:00
nowTimeStr := "-04-01"//使用Parse 默认获取为UTC时区 需要获取本地时区 所以使用ParseInLocationt2, _ := time.ParseInLocation("-01-02", nowTimeStr, time.Local)towTimeStamp := t2.AddDate(0, 0, -1).Unix()towTimeStr := time.Unix(towTimeStamp, 0).Format("-01-02 15:04:05")fmt.Println(towTimeStr) // -03-31 00:00:00