Go의 주 번호별 날짜 범위
제공된 Week 함수를 사용하여 얻은 주 번호가 주어지면 이 기사에서는 해당 주 번호를 확인하는 방법을 탐색합니다. 날짜 범위는 일요일부터 시작됩니다.
머리말: ISO 주간 및 사용자 정의 처리
표준 ISO 주간이 월요일에 시작된다는 점에 유의하는 것이 중요합니다. 이 규칙에 적응하기 위해 다음 접근 방식은 월요일 또는 일요일부터 시작하는 주를 처리합니다.
주 범위 결정
주의 날짜 범위를 결정하려면 다음을 수행합니다.
구현:
func WeekStart(year, week int) time.Time { t := time.Date(year, 7, 1, 0, 0, 0, 0, time.UTC) if wd := t.Weekday(); wd == time.Sunday { t = t.AddDate(0, 0, -6) } else { t = t.AddDate(0, 0, -int(wd)+1) } _, w := t.ISOWeek() t = t.AddDate(0, 0, (week-w)*7) return t }
사용 예:
fmt.Println(WeekStart(2018, 1)) // Output: 2018-01-01 00:00:00 +0000 UTC fmt.Println(WeekStart(2018, 2)) // Output: 2018-01-08 00:00:00 +0000 UTC
처리 범위를 벗어남 주:
이 구현은 범위를 벗어난 주를 적절하게 처리하여 이를 전년도 또는 내년의 주로 해석합니다.
주말 결정:
한 주의 마지막 날을 구하려면 해당 주의 첫 번째 날에 6일을 더하면 됩니다. 요일:
func WeekRange(year, week int) (start, end time.Time) { start = WeekStart(year, week) end = start.AddDate(0, 0, 6) return }
위 내용은 Go에서 주어진 주 번호에 대한 날짜 범위를 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!