94 lines
1.8 KiB
Go
94 lines
1.8 KiB
Go
package models
|
|
|
|
import (
|
|
"fmt"
|
|
"sync"
|
|
"time"
|
|
)
|
|
|
|
var cstZone = time.FixedZone("CST", 8*3600)
|
|
|
|
const (
|
|
//TimeFormat = "2006-01-02 15:04:05"
|
|
|
|
DateFormat = "2006-01-02"
|
|
MDateFormat = "2006-01"
|
|
)
|
|
|
|
func TodayZeroFormat() string {
|
|
return TodayZero().Format(TimeFormat)
|
|
}
|
|
|
|
func TodayZeroDateFormat() string {
|
|
return TodayZero().Format(DateFormat)
|
|
}
|
|
|
|
func ZeroDateFormat(days int) string {
|
|
return TodayZeroAddDays(days).Format(DateFormat)
|
|
}
|
|
|
|
func TodayZero() time.Time {
|
|
t := time.Now()
|
|
tm := time.Date(t.Year(), t.Month(), t.Day(), 0, 0, 0, 0, cstZone)
|
|
|
|
//return time.Now().In(cstZone)
|
|
return tm
|
|
}
|
|
|
|
func TodayZeroAddDays(days int) time.Time {
|
|
return TodayZero().AddDate(0, 0, days)
|
|
}
|
|
|
|
func YesterdayZero() time.Time {
|
|
return TodayZeroAddDays(-1)
|
|
}
|
|
|
|
func Now() time.Time {
|
|
return time.Now().In(cstZone)
|
|
}
|
|
|
|
func TimeFormatDate(stamp int64) string {
|
|
return time.Unix(stamp, 0).Format(DateFormat)
|
|
}
|
|
|
|
func Yesterday() time.Time {
|
|
return TodayAddDays(-1)
|
|
}
|
|
|
|
func TodayAddDays(days int) time.Time {
|
|
return Now().AddDate(0, 0, days)
|
|
}
|
|
|
|
var fluxMutexMap map[string]*sync.Mutex
|
|
|
|
func GetFluxMutexMap() map[string]*sync.Mutex {
|
|
if fluxMutexMap == nil {
|
|
fluxMutexMap = make(map[string]*sync.Mutex, 0)
|
|
}
|
|
return fluxMutexMap
|
|
}
|
|
|
|
func GetFluxMutex(mutexKey string) *sync.Mutex {
|
|
mutexMap := GetFluxMutexMap()
|
|
if v, ok := mutexMap[mutexKey]; ok {
|
|
return v
|
|
} else {
|
|
mutexMap[mutexKey] = new(sync.Mutex)
|
|
return mutexMap[mutexKey]
|
|
}
|
|
}
|
|
|
|
func ShareCardRetrieveCardAuditMutex(key string) *sync.Mutex {
|
|
return GetFluxMutex(fmt.Sprintf("ShareCardRetrieveCardAudit:%s", key))
|
|
}
|
|
|
|
func InDayZero(day int) time.Time {
|
|
t := time.Now()
|
|
tm := time.Date(t.Year(), t.Month(), day, 0, 0, 0, 0, cstZone)
|
|
return tm
|
|
}
|
|
|
|
func MonthDateAdd(month int) string {
|
|
return Now().AddDate(0, month, 0).Format("2006-01")
|
|
}
|