weekStart returns Monday 00:00 UTC of t's ISO week (zero in → zero out).
(t time.Time)
| 248 | |
| 249 | // weekStart returns Monday 00:00 UTC of t's ISO week (zero in → zero out). |
| 250 | func weekStart(t time.Time) time.Time { |
| 251 | if t.IsZero() { |
| 252 | return time.Time{} |
| 253 | } |
| 254 | t = t.UTC() |
| 255 | wd := (int(t.Weekday()) + 6) % 7 // Mon=0 … Sun=6 |
| 256 | d := time.Date(t.Year(), t.Month(), t.Day(), 0, 0, 0, 0, time.UTC) |
| 257 | return d.AddDate(0, 0, -wd) |
| 258 | } |
| 259 | |
| 260 | func sortedWeekly(m map[time.Time]*WeeklyPoint) []WeeklyPoint { |
| 261 | out := make([]WeeklyPoint, 0, len(m)) |