요일 계산기
계산 결과
요일
- 연초부터의 일수
- 262 일
- 연말까지 남은 일수
- 103 일
- ISO 주 번호
- 38
날짜는 자기 요일을 스스로 정합니다. 2026년 9월 19일은 어느 나라에서나 토요일이고 어떤 시계도 그것을 바꾸지 못합니다. 그런데 날짜를 지역 시간대로 한 번 거쳐 가며 만드는 구현은 일부 사용자에게만 조용히 하루 전을 돌려줍니다. 요일 계산기는 날짜 하나로 네 가지를 답합니다. 요일, 그 해 안에서의 위치, 그 해에 남은 일수, 그리고 사람들이 가장 자주 걸리는 ISO 주 번호입니다. ISO 주는 월요일이 아니라 목요일이 들어 있는 해에 속하기 때문입니다.
공식
요일 = (1970년 1월 1일부터 지난 온전한 일수 + 4) mod 7, 여기서 0은 일요일
- 기준일 번호
- 1970년 1월 1일부터 지난 온전한 일수. 그날이 목요일이라 상수 4를 더합니다
- 연초부터의 일수
- 그 해 안에서의 위치. 1월 1일이 1입니다
- 연말까지 남은 일수
- 그 해에 남은 일수: 365 또는 366에서 그 위치를 뺀 값
- ISO 주 번호
- 그 해의 첫 목요일이 들어 있는 주. 1에서 53까지
날짜 하나를 확정하거나, 근무표가 요구하는 주 번호를 얻거나, 한 해가 얼마나 남았는지 볼 때 씁니다. 무슨 요일인지는 쉬운 쪽이고 도구마다 갈리는 것은 주 번호입니다. ISO 주는 그 목요일이 들어 있는 해에 속하므로 2021년 1월 1일은 2020년의 53주 차로 보고됩니다. 하지 못하는 것은 달력 사이의 변환입니다. 여기 있는 모든 날짜는 소급 그레고리력이라 1582년 10월에 사라진 열흘은 일어나지 않은 일이 됩니다.
계산 예시
2026년 9월 19일
- 1970년 1월 1일부터 지난 온전한 일수는 20,715일. 4일을 더하면 20,719이고 20,719 mod 7 = 6 — 일요일이 0이므로 이 날짜는 토요일.
- 연초부터의 일수: 지난 여덟 달이 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 = 243일이고 243 + 19 = 262.
- 연말까지 남은 일수: 2026년은 평년이라 365일이고 365 − 262 = 103.
- ISO 주 번호: 그 주의 월요일은 2026년 9월 14일이고 ISO 연도의 38주 차에 들어감.
날짜 하나에서 네 가지가 나옵니다. 요일은 종이 달력으로 확인할 수 있고, 도구마다 답이 갈리는 쪽은 주 번호입니다. 주가 시작하는 요일이 아니라 목요일이 그 주의 소속을 정하기 때문입니다.
2021년 1월 1일 — 53주 차에 들어간 1월 날짜
- 2021년 1월 1일은 금요일이라 그 주는 2020년 12월 28일 월요일부터 2021년 1월 3일 일요일까지.
- ISO 주는 그 목요일이 들어 있는 해에 속하고, 그 목요일은 2020년 12월 31일.
- 따라서 이 주는 2020년의 마지막 번호인 53을 가져감 — 2021년 날짜가 전년도의 주 번호를 보고함.
- 연초부터의 일수와 연말까지 남은 일수는 이와 무관함: 달력 연도 안에서 세므로 각각 1과 364.
주 번호가 이 페이지에 자리를 차지하는 이유가 이 경계입니다. 2020년에는 ISO 주가 53개, 2021년에는 52개 있고, 2021년 1월의 첫 사흘은 앞 해의 셈에 들어갑니다.
2024년 2월 29일 — 윤일
- 2024년은 4로 나누어떨어지고 100으로는 나누어떨어지지 않으므로 윤년이고 2월이 29일까지 있음.
- 연초부터의 일수: 1월이 31일이고 여기에 29를 더해 60 — 2023년에는 이 날짜가 없고 3월 1일이 60번째 자리를 차지함.
- 연말까지 남은 일수: 366 − 60 = 306.
- 요일: 2024년 2월 29일은 목요일이고 그 주의 월요일은 2월 26일.
윤일은 그 뒤의 모든 위치를 하루씩 밀어내므로, 연초부터의 일수는 평년의 달력에서는 읽어 낼 수 없는 출력입니다.
한계
여기 있는 모든 날짜는 소급 그레고리력입니다. 사람들이 실제로 쓰던 달력이 아니라 거꾸로 확장한 달력이라 1582년 10월에는 빈자리가 없고 1000년의 요일은 어떤 연대기에도 없는 값입니다. 주 번호는 ISO 방식이며, 일요일에 주를 시작하고 1주 차를 1월 안에 두는 미국식 관례와는 해마다 몇 날짜에서 갈립니다. 시간대 변환은 하지 않습니다. 날짜의 요일은 시간대에 달려 있지 않기 때문입니다.
자주 묻는 질문
- 날짜의 요일은 어떻게 구하나요?
- 알려진 기준일부터 지난 온전한 일수를 세고 7로 나눈 나머지를 봅니다. 1970년 1월 1일이 목요일이므로 20,715일 뒤인 날짜는 20,715 + 4 = 20,719이고, 20,719 mod 7 = 6이라 토요일입니다. 산수를 피하는 달력의 요령들도 결국 같은 세기를 하는 것입니다.
- ISO 주 번호는 무엇인가요?
- ISO 8601이 정한 번호 붙이기입니다. 주는 월요일에 시작하고 1주 차는 그 해의 첫 목요일이 들어 있는 주입니다. 이 규칙이 모든 주를 정확히 한 해에 묶어 주기 때문에, 1월 초의 날짜가 앞 해의 52주 차나 53주 차에 속할 수 있습니다. 유럽 대부분과 대부분의 일정 관리 소프트웨어가 쓰는 방식입니다.
- 1월 날짜가 왜 53주 차로 나오나요?
- ISO 주가 월요일이 아니라 목요일이 들어 있는 해에 속하기 때문입니다. 2021년 1월 1일이 들어 있는 주는 2020년 12월 28일 월요일부터 2021년 1월 3일 일요일까지였고 그 목요일이 2020년에 있었으므로, 2020년의 마지막 번호인 53을 가져갔습니다. 반대쪽도 같습니다. 2026년 12월 31일은 목요일이라 2026년의 53주 차에 앉습니다.
- 시각이나 시간대에 따라 답이 달라지나요?
- 아니요. 달력 위의 날짜는 어디에서 읽든 요일이 정해져 있고 이 도구는 지역 시간대로 환산하지 않습니다. 실제로 사고가 나는 자리는 날짜를 지역 시간 메서드로 만든 뒤 다시 읽는 구현입니다. 그것을 계산한 기계보다 서쪽에 있는 사용자에게만 하루 전이 돌아가고, 그 밖의 사람에게는 멀쩡해 보입니다.
- 연초부터의 일수는 어디에 쓰나요?
- 그 날짜가 자기 해 안에서 몇 번째인지를 나타내는 값으로, 1월 1일이 1이고 12월 31일이 365나 366입니다. 업계에 따라 마감일을 이 번호로 적기도 합니다. 2026년의 262번째 날이 9월 19일입니다. 연말까지 남은 일수는 해의 길이에서 이 위치를 뺀 값이라 둘을 더하면 언제나 그 해의 길이가 됩니다.
참고 문헌
- UTS #35: Unicode Locale Data Markup Language, Part 4: Dates — 유니코드의 날짜 형식·달력 데이터 규격 — Unicode Consortium
- ISO 8601: International Standard Date and Time Notation — 국제 날짜·시각 표기 표준 — Markus Kuhn, University of Cambridge