package ztime import "time" const ( DtFormatDate = "2006-01-02" DtFormatTime = "2006-01-02 15:04:05" DtFormatMonth = "2006-01" ) // Unix 获取当前秒时间戳 func Unix() int64 { return time.Now().Unix() } // UnixMilli 获取当前毫秒时间戳 func UnixMilli() int64 { return time.Now().UnixMilli() } // TimeToDateString // @Description: 时间转日期字符串 // @param dt // @return string func TimeToDateString(dt time.Time) string { return dt.Format(DtFormatDate) } // TimeToTimeString // @Description: 时间转时间字符串 // @param dt // @return string func TimeToTimeString(dt time.Time) string { return dt.Format(DtFormatTime) } // TimeToMonthString // @Description: 时间转月份字符串 // @param dt // @return string func TimeToMonthString(dt time.Time) string { return dt.Format(DtFormatMonth) } // TimeToMonth // @Description: 时间转月份字符串 // @param dt // @return string func TimeToMonth(dt time.Time) int { return dt.Year()*100 + int(dt.Month()) } // DateStringToTimeE // @Description: 日期字符串转时间 // @param dt // @return time.Time // @return error func DateStringToTimeE(dt string) (time.Time, error) { return time.Parse(DtFormatDate, dt) } // DateStringToTime // @Description: 时间字符串转时间 // @param dt // @return time.Time // @return error func DateStringToTime(dt string) time.Time { if t, err := time.Parse(DtFormatDate, dt); err == nil { return t } else { return time.Now() } } // TimeStringToTimeE // @Description: 时间字符串转时间 // @param dt // @return time.Time // @return error func TimeStringToTimeE(dt string) (time.Time, error) { return time.Parse(DtFormatTime, dt) } // TimeStringToTime // @Description: 时间字符串转时间 // @param dt // @return time.Time // @return error func TimeStringToTime(dt string) time.Time { if t, err := time.Parse(DtFormatTime, dt); err == nil { return t } else { return time.Now() } } // TimeTextInt64 把时间转换成数字字符串 比如 20240510113130 func TimeTextInt64(dt time.Time) int64 { date := int64(dt.Year())*1_0000 + int64(dt.Month())*100 + int64(dt.Day()) t := int64(dt.Hour())*1_0000 + int64(dt.Minute())*100 + int64(dt.Second()) return date*1_000000 + t } // SameMonth // @Description: 判断同一月 // @param dt1 // @param dt2 // @return bool func SameMonth(dt1, dt2 time.Time) bool { return dt1.Year() == dt2.Year() && dt1.Month() == dt2.Month() } // SameDay // @Description: 判断同一天 // @param dt1 // @param dt2 // @return bool func SameDay(dt1, dt2 time.Time) bool { return dt1.Year() == dt2.Year() && dt1.Month() == dt2.Month() && dt1.Day() == dt2.Day() } // SameHour // @Description: 判断同一小时 // @param dt1 // @param dt2 // @return bool func SameHour(dt1, dt2 time.Time) bool { return dt1.Year() == dt2.Year() && dt1.Month() == dt2.Month() && dt1.Day() == dt2.Day() && dt1.Hour() == dt2.Hour() }