package utils import ( "time" ) func StringToTime(timeStr string) (time.Time, error) { return time.ParseInLocation("2006-01-02 15:04:05", timeStr, time.Local) } func StringToTime2(timeStr string) (time.Time, error) { return time.ParseInLocation("2006-01-02", timeStr, time.Local) } func StringToTime3(timeStr string) (time.Time, error) { return time.ParseInLocation("2006-01-02 15:04", timeStr, time.Local) } func StringToClock(timeStr string) (time.Time, error) { return time.ParseInLocation("15:04", timeStr, time.Local) } func TimeToString(time time.Time) string { return time.Format("2006-01-02 15:04:05") } func TimeToString2(time time.Time) string { return time.Format("2006-01-02") } func TimeToString3(time time.Time) string { return time.Format("15:04") } func TimeToMonthDay(time time.Time) string { return time.Format("01-02") } func UnixTimeToString(_t int64) string { return time.Unix(_t, 0).In(time.Local).Format("2006-01-02 15:04:05") } func UnixTimeToDate(_t int64) string { return time.Unix(_t, 0).In(time.Local).Format("2006-01-02") } func DayStartTime(_t int64) int64 { l := time.Unix(_t, 0).In(time.Local) k := time.Date(l.Year(), l.Month(), l.Day(), 0, 0, 0, 0, time.Local).Unix() return k } func DayStart(_t time.Time) time.Time { l := _t.In(time.Local) k := time.Date(l.Year(), l.Month(), l.Day(), 0, 0, 0, 0, time.Local) return k } func DayStartTimeDateStr(_t int64) string { l := time.Unix(_t, 0).In(time.Local) k := time.Date(l.Year(), l.Month(), l.Day(), 0, 0, 0, 0, time.Local) return TimeToString2(k) } const timeLayout = "2006-01-02 15:04:05" func GetCurrentTime() string { return time.Now().Format(timeLayout) } // WeekdayCount 根据开始时间戳,结束时间戳(不含)返回工作日天数 func WeekdayCount(startTs, endTs int64) (workDays int64) { for startTs < endTs { startDate := time.Unix(startTs, 0).In(time.Local) weekday := startDate.Weekday() if weekday >= time.Monday && weekday <= time.Friday { workDays++ } startTs += 86400 } return workDays } func TodayStartTime() time.Time { l := time.Now().In(time.Local) k := time.Date(l.Year(), l.Month(), l.Day(), 0, 0, 0, 0, time.Local) return k } func TodayStartTs() int64 { return TodayStartTime().Unix() }