1. 獲取當(dāng)前時(shí)間字符串(北京時(shí)間)
import "time"
// "2023-05-29 15:10:41"
func GetNowStr() string {
loc, _ := time.LoadLocation("Asia/Shanghai")
return time.Now().In(loc).Format("2006-01-02 15:04:05")
}
2. 時(shí)間戳轉(zhuǎn)時(shí)間字符串(北京時(shí)間)
import "time"
func TransTimestampToStr(Timestamp int64) string {
timeLayout := "2006-01-02 15:04:05"
loc, _ := time.LoadLocation("Asia/Shanghai")
timeStr := time.Unix(Timestamp, 0).In(loc).Format(timeLayout)
return timeStr
}
3. 時(shí)間字符串轉(zhuǎn)時(shí)間戳(北京時(shí)間)
import "time"
func TransTimeStrToStamp(timeStr string) (formatTime time.Time, err error) {
if len(timeStr) == 10 {
timeStr += " 00:00:00"
loc, _ := time.LoadLocation("Asia/Shanghai")
formatTime, err := time.ParseInLocation("2006-01-02 15:04:05", timeStr, loc)
return formatTime, err
} else if len(timeStr) == 19 {
loc, _ := time.LoadLocation("Asia/Shanghai")
formatTime, err := time.ParseInLocation("2006-01-02 15:04:05", timeStr, loc)
return formatTime, err
}
return formatTime, errors.New("timeStr format error")
}
rTime, err := TransTimeStrToStamp(timeStr)
if err != nil {
return ""
}
rTimestamp := rTime.Unix()
4. 過(guò)去時(shí)間(timeStr)距離現(xiàn)在差幾天
// 計(jì)算相差天數(shù)
func CalcTime(timeStr string) string {
nowTimestamp := time.Now().Unix()
recordTime, err := TransTimeStrToStamp(timeStr)
if err != nil {
return ""
}
recordTimestamp := recordTime.Unix()
timeDiff := int(math.Ceil(float64(nowTimestamp-recordTimestamp) / 86400))
if timeDiff > 0 {
return fmt.Sprintf("已超時(shí)%d天", timeDiff)
}
return ""
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者