| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- package home
- import (
- "fmt"
- "testing"
- "time"
- )
- func TestInsertGoal(t *testing.T) {
- //now:=
- now := time.Now()
- // 获取本月的第一天
- firstOfMonth := time.Date(now.Year(), 2, 1, 0, 0, 0, 0, now.Location())
- // 获取本月的最后一天
- lastOfMonth := firstOfMonth.AddDate(0, 1, -1)
- fmt.Println("本月的开始日期:", firstOfMonth.Format("2006-01-02"))
- fmt.Println("本月的结束日期:", lastOfMonth.Format("2006-01-02"))
- }
- //
- ////判断时间是当年的第几周
- ////
- //func WeekByDate(t time.Time) string {
- //
- // yearDay := t.YearDay()
- //
- // yearFirstDay := t.AddDate(0, 0, -yearDay+1)
- //
- // firstDayInWeek := int(yearFirstDay.Weekday())
- //
- // //今年第一周有几天
- //
- // firstWeekDays := 1
- //
- // if firstDayInWeek != 0 {
- //
- // firstWeekDays = 7 - firstDayInWeek + 1
- //
- // }
- //
- // var week int
- // Weeks := WeekByDates()
- // if yearDay <= firstWeekDays {
- //
- // week = 1
- //
- // } else {
- //
- // week = (yearDay-firstWeekDays)/7 + 2
- //
- // }
- //
- // return fmt.Sprintf("%d第%d周", t.Year(), week-gconv.Int(Weeks)+1)
- //
- //}
- //func WeekByDates() int {
- // l, _ := time.LoadLocation("Asia/Shanghai")
- // now := time.Now()
- // // 获取本月的第一天
- // firstOfMonth := time.Date(now.Year(), now.Month(), 1, 0, 0, 0, 0, now.Location())
- // endTime, _ := time.ParseInLocation("2006-01-02", firstOfMonth.Format("2006-01-02"), l)
- // t := endTime
- // yearDay := t.YearDay()
- //
- // yearFirstDay := t.AddDate(0, 0, -yearDay+1)
- //
- // firstDayInWeek := int(yearFirstDay.Weekday())
- //
- // //今年第一周有几天
- //
- // firstWeekDays := 1
- //
- // if firstDayInWeek != 0 {
- //
- // firstWeekDays = 7 - firstDayInWeek + 1
- //
- // }
- //
- // var week int
- //
- // if yearDay <= firstWeekDays {
- //
- // week = 1
- //
- // } else {
- //
- // week = (yearDay-firstWeekDays)/7 + 2
- //
- // }
- //
- // return week
- //
- //}
- //
- //type WeekDate struct {
- // WeekTh string
- //
- // StartTime time.Time
- //
- // EndTime time.Time
- //}
- //
- //// 将开始时间和结束时间分割为周为单位
- //
- //func GroupByWeekDate(startTime, endTime time.Time) []WeekDate {
- //
- // weekDate := make([]WeekDate, 0)
- //
- // diffDuration := endTime.Sub(startTime)
- //
- // days := int(math.Ceil(float64(diffDuration/(time.Hour*24)))) + 1
- //
- // currentWeekDate := WeekDate{}
- //
- // currentWeekDate.WeekTh = WeekByDate(endTime)
- //
- // currentWeekDate.EndTime = endTime
- //
- // currentWeekDay := int(endTime.Weekday())
- //
- // if currentWeekDay == 0 {
- //
- // currentWeekDay = 7
- //
- // }
- //
- // currentWeekDate.StartTime = endTime.AddDate(0, 0, -currentWeekDay+1)
- //
- // nextWeekEndTime := currentWeekDate.StartTime
- //
- // weekDate = append(weekDate, currentWeekDate)
- //
- // for i := 0; i < (days-currentWeekDay)/7; i++ {
- //
- // weekData := WeekDate{}
- //
- // weekData.EndTime = nextWeekEndTime
- //
- // weekData.StartTime = nextWeekEndTime.AddDate(0, 0, -7)
- //
- // weekData.WeekTh = WeekByDate(weekData.StartTime)
- //
- // nextWeekEndTime = weekData.StartTime
- //
- // weekDate = append(weekDate, weekData)
- //
- // }
- //
- // if lastDays := (days - currentWeekDay) % 7; lastDays > 0 {
- //
- // lastData := WeekDate{}
- //
- // lastData.EndTime = nextWeekEndTime
- //
- // lastData.StartTime = nextWeekEndTime.AddDate(0, 0, -lastDays)
- //
- // lastData.WeekTh = WeekByDate(lastData.StartTime)
- //
- // weekDate = append(weekDate, lastData)
- //
- // }
- //
- // return weekDate
- //
- //}
|