|
|
@@ -0,0 +1,55 @@
|
|
|
+package main_test
|
|
|
+
|
|
|
+import (
|
|
|
+ "fmt"
|
|
|
+ "github.com/gogf/gf/os/gtime"
|
|
|
+ "testing"
|
|
|
+ "time"
|
|
|
+)
|
|
|
+
|
|
|
+func Test_GetTime(t *testing.T) {
|
|
|
+ //year, _, day := gtime.Now().Date()
|
|
|
+ //month := gtime.Now().Month()
|
|
|
+ //weekday := gtime.Now().Weekday().String()
|
|
|
+ toTime, _ := gtime.StrToTime("2021-09-24", "Y-m-d")
|
|
|
+ date := toTime.AddDate(0, 0, 6-1)
|
|
|
+ year, _, day := toTime.Date()
|
|
|
+ month := toTime.Month()
|
|
|
+ weekday := toTime.Weekday().String()
|
|
|
+ week := 0
|
|
|
+ saturday := 0
|
|
|
+ sunday := 0
|
|
|
+ startTimeStr := "0000-01-01 08:00:00"
|
|
|
+ startTime, _ := gtime.StrToTime(startTimeStr)
|
|
|
+ startTime.Hour()
|
|
|
+ startTime.Minute()
|
|
|
+ endTimeStr := "0000-01-01 18:00:00"
|
|
|
+ endTime, _ := gtime.StrToTime(endTimeStr)
|
|
|
+ endTime.Hour()
|
|
|
+ endTime.Minute()
|
|
|
+ timeLong := endTime.Sub(startTime).Hours()
|
|
|
+ //fmt.Println("总时长:", timeLong)
|
|
|
+ grids := int(timeLong * 2)
|
|
|
+ switch weekday {
|
|
|
+ case "Monday": week, saturday, sunday = 1, day + 5, day + 6
|
|
|
+ case "Tuesday": week, saturday, sunday = 2, day + 4, day + 5
|
|
|
+ case "Wednesday": week, saturday, sunday = 3, day + 3, day + 4
|
|
|
+ case "Thursday": week, saturday, sunday = 4, day + 2, day + 3
|
|
|
+ case "Friday": week, saturday, sunday = 5, day + 1, day + 2
|
|
|
+ case "Saturday": week, saturday, sunday = 6, day + 0, day + 1
|
|
|
+ case "Sunday": week, saturday, sunday = 7, day - 1, day
|
|
|
+ }
|
|
|
+ for i := 0; i < grids; i++ {
|
|
|
+ // 开始时间
|
|
|
+ start_time := startTime.Add(time.Duration(i) * 30 * time.Minute)
|
|
|
+ sday := saturday
|
|
|
+ suday := sunday
|
|
|
+ status := 1
|
|
|
+ fmt.Println("date:", date, "day:", sday, "week:", 6, "start_time", fmt.Sprintf("%02d", start_time.Hour()) + ":"+fmt.Sprintf("%02d", start_time.Minute()), "status:", status)
|
|
|
+ fmt.Println("day:", suday, "week:", 7, "start_time", fmt.Sprintf("%02d", start_time.Hour()) + ":"+fmt.Sprintf("%02d", start_time.Minute()), "status:", status)
|
|
|
+
|
|
|
+ }
|
|
|
+ fmt.Println(year, month, day, weekday, week, saturday, sunday, timeLong)
|
|
|
+}
|
|
|
+
|
|
|
+
|