feat:完善项目
This commit is contained in:
63
utils/time.go
Normal file
63
utils/time.go
Normal file
@ -0,0 +1,63 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"math"
|
||||
"time"
|
||||
)
|
||||
|
||||
type Week int
|
||||
|
||||
const (
|
||||
Monday Week = iota + 1
|
||||
Tuesday
|
||||
Wednesday
|
||||
Thursday
|
||||
Friday
|
||||
Saturday
|
||||
Sunday
|
||||
)
|
||||
|
||||
func IsEmptyTime(t time.Time) bool {
|
||||
return t.IsZero()
|
||||
}
|
||||
|
||||
func FormatDate(t time.Time) string {
|
||||
return t.Format("2006-01-02")
|
||||
}
|
||||
|
||||
func FormatDatetime(t time.Time) string {
|
||||
return t.Format("2006-01-02 15:04:05")
|
||||
}
|
||||
|
||||
func FormatTimeForLayout(t time.Time, layout string) string {
|
||||
return t.Format(layout)
|
||||
}
|
||||
|
||||
func DateTimeToTime(t string) time.Time {
|
||||
_time, _ := time.ParseInLocation("2006-01-02 15:04:05", t, time.Local)
|
||||
return _time
|
||||
}
|
||||
|
||||
func GetMondayTime(t time.Time) time.Time {
|
||||
offset := int(time.Monday - t.Weekday())
|
||||
|
||||
if offset > 0 {
|
||||
offset = -6
|
||||
}
|
||||
return time.Date(t.Year(), t.Month(), t.Day(), 0, 0, 0, 0, time.Local).AddDate(0, 0, offset)
|
||||
}
|
||||
|
||||
func MonthBeginAt(year, month int) time.Time {
|
||||
return time.Date(year, time.Month(month), 1, 0, 0, 0, 0, time.Now().Location())
|
||||
}
|
||||
|
||||
func MonthFinishAt(year, month int) time.Time {
|
||||
mark := time.Date(year, time.Month(month), 1, 23, 59, 59, 0, time.Now().Location())
|
||||
return mark.AddDate(0, 1, -1)
|
||||
}
|
||||
|
||||
func DiffTimeMonth(time1, time2 time.Time) int {
|
||||
year := math.Abs(float64(time1.Year()) - float64(time2.Year()))
|
||||
month := math.Abs(float64(time1.Month()) - float64(time2.Month()))
|
||||
return int(year)*12 + int(month) + 1
|
||||
}
|
Reference in New Issue
Block a user