go-common/app/interface/main/mcn/model/datamodel/api.go
2019-04-22 18:49:16 +08:00

39 lines
924 B
Go

package datamodel
import (
"time"
)
// GetLastDay get data daily
func GetLastDay() time.Time {
//return time.Date(2018, 11, 18, 0, 0, 0, 0, time.Local)
now := time.Now()
return time.Date(now.Year(), now.Month(), now.Day()-1, 0, 0, 0, 0, time.Local)
}
// GetLastWeek get data weekly
func GetLastWeek() time.Time {
//return time.Date(2018, 11, 18, 0, 0, 0, 0, time.Local)
now := time.Now()
gDate := getTuesday(now)
if now.Before(gDate.Add(12 * time.Hour)) {
return gDate.AddDate(0, 0, -9)
}
return gDate.AddDate(0, 0, -2)
}
func beginningOfDay(t time.Time) time.Time {
d := time.Duration(-t.Hour()) * time.Hour
return t.Truncate(time.Hour).Add(d)
}
func getTuesday(now time.Time) time.Time {
t := beginningOfDay(now)
weekday := int(t.Weekday())
if weekday == int(time.Sunday) {
weekday = int(time.Saturday) + 1
}
d := time.Duration(-weekday+2) * 24 * time.Hour
return t.Truncate(time.Hour).Add(d)
}