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()
|
}
|