diff options
Diffstat (limited to 'internal/calendar/temporal.go')
| -rw-r--r-- | internal/calendar/temporal.go | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/internal/calendar/temporal.go b/internal/calendar/temporal.go index 13f1385..ab1a742 100644 --- a/internal/calendar/temporal.go +++ b/internal/calendar/temporal.go @@ -231,8 +231,13 @@ func temporal(date time.Time, sel Selection) temporalDay { if date.Before(ashWed) { week = daysBetween(baptismThis, date)/7 + 1 } else { - // count back from Christ the King = the 34th week. - week = 34 - daysBetween(date, christTheKing)/7 + // Span 2 resumes after Pentecost; Sundays are numbered backward from + // Christ the King (the 34th and last Sunday). A weekday takes the number + // of its preceding Sunday, so count from that Sunday, not from the + // weekday itself (which would round toward Christ the King and land a + // week too high — the OT ferial off-by-one). + precedingSunday := date.AddDate(0, 0, -int(date.Weekday())) + week = 34 - daysBetween(precedingSunday, christTheKing)/7 } if week < 1 { week = 1 |
