파이썬에서 현재 주(week) 번호를 확인하고 싶다면 datetime 모듈의 isocalendar() 함수를 사용하면 됩니다. 먼저 날짜 객체를 생성한 뒤 해당 객체에 isocalendar()를 호출하면, 연도(year), 주 번호(week number), 요일(day of week) 세 가지 값을 담은 튜플(tuple)이 반환됩니다.
예제 코드
import datetime
my_date = datetime.date.today() # 오늘 날짜가 2018년 1월 1일이라고 가정
year, week_num, day_of_week = my_date.isocalendar()
print("Week #" + str(week_num) + " of year " + str(year))
실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Week #1 of year 2018
f-string으로 더 간결하게 출력하기
파이썬 3.6 이상에서는 f-string을 활용해 코드를 더 읽기 쉽게 작성할 수 있습니다.
import datetime
my_date = datetime.date.today()
year, week_num, day_of_week = my_date.isocalendar()
print(f"{year}년 {week_num}주차")
참고: ISO 8601 표준
isocalendar()는 국제 표준 ISO 8601 규칙을 따릅니다. ISO 기준에서 한 주는 월요일에 시작하며, 그 해의 첫 번째 목요일이 포함된 주가 1주차로 간주됩니다. 따라서 연말이나 연초에는 주 번호가 이전 연도 또는 다음 연도에 속하는 경우가 있으니 주의해야 합니다.