6
0

the_test.go 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package main_test
  2. import (
  3. "fmt"
  4. "github.com/gogf/gf/os/gtime"
  5. "testing"
  6. "time"
  7. )
  8. func Test_GetTime(t *testing.T) {
  9. //year, _, day := gtime.Now().Date()
  10. //month := gtime.Now().Month()
  11. //weekday := gtime.Now().Weekday().String()
  12. toTime, _ := gtime.StrToTime("2021-09-24", "Y-m-d")
  13. date := toTime.AddDate(0, 0, 6-1)
  14. year, _, day := toTime.Date()
  15. month := toTime.Month()
  16. weekday := toTime.Weekday().String()
  17. week := 0
  18. saturday := 0
  19. sunday := 0
  20. startTimeStr := "0000-01-01 08:00:00"
  21. startTime, _ := gtime.StrToTime(startTimeStr)
  22. startTime.Hour()
  23. startTime.Minute()
  24. endTimeStr := "0000-01-01 18:00:00"
  25. endTime, _ := gtime.StrToTime(endTimeStr)
  26. endTime.Hour()
  27. endTime.Minute()
  28. timeLong := endTime.Sub(startTime).Hours()
  29. //fmt.Println("总时长:", timeLong)
  30. grids := int(timeLong * 2)
  31. switch weekday {
  32. case "Monday": week, saturday, sunday = 1, day + 5, day + 6
  33. case "Tuesday": week, saturday, sunday = 2, day + 4, day + 5
  34. case "Wednesday": week, saturday, sunday = 3, day + 3, day + 4
  35. case "Thursday": week, saturday, sunday = 4, day + 2, day + 3
  36. case "Friday": week, saturday, sunday = 5, day + 1, day + 2
  37. case "Saturday": week, saturday, sunday = 6, day + 0, day + 1
  38. case "Sunday": week, saturday, sunday = 7, day - 1, day
  39. }
  40. for i := 0; i < grids; i++ {
  41. // 开始时间
  42. start_time := startTime.Add(time.Duration(i) * 30 * time.Minute)
  43. sday := saturday
  44. suday := sunday
  45. status := 1
  46. fmt.Println("date:", date, "day:", sday, "week:", 6, "start_time", fmt.Sprintf("%02d", start_time.Hour()) + ":"+fmt.Sprintf("%02d", start_time.Minute()), "status:", status)
  47. fmt.Println("day:", suday, "week:", 7, "start_time", fmt.Sprintf("%02d", start_time.Hour()) + ":"+fmt.Sprintf("%02d", start_time.Minute()), "status:", status)
  48. }
  49. fmt.Println(year, month, day, weekday, week, saturday, sunday, timeLong)
  50. }