둠스데이 알고리즘
1. 개요
둠스데이 알고리즘은 특정 연도의 요일을 계산하는 방법으로, 특히 그레고리력 달력에서 날짜의 요일을 결정하는 데 사용된다. 이 알고리즘은 7의 배수를 이용하여 날짜 간의 요일 관계를 파악하고, 세기의 기준일을 계산하여 연도별 둠스데이를 구한다. 둠스데이는 한 해의 특정 날짜를 기준으로, 기억하기 쉬운 날짜(예: 4/4, 6/6)를 활용하여 다른 날짜의 요일을 쉽게 계산할 수 있도록 돕는다. 둠스데이 알고리즘은 다양한 계산 방법과 공식을 통해 특정 날짜의 요일을 빠르고 정확하게 계산할 수 있게 해주며, 요일 문자와의 관계를 통해 요일 정보를 제공하기도 한다.
| 이름 | 둠스데이 알고리즘 |
|---|---|
| 유형 | 요일 결정 알고리즘 |
| 고안자 | 존 호턴 콘웨이 |
| 용도 | 특정 날짜의 요일 계산 |
| 핵심 개념 | 둠스데이(Doomsday): 특정 연도의 특정 요일. 앵커 데이(Anchor day): 연도의 둠스데이가 해당하는 요일. |
|---|---|
| 둠스데이 계산법 | 해당 연도의 둠스데이를 계산. |
| 요일 계산 | 주어진 날짜와 해당 연도의 둠스데이 사이의 날짜 차이를 계산하여 요일을 결정. |
| 각 달의 둠스데이 | 1월: 윤년 - 4일, 평년 - 3일 2월: 윤년 - 29일, 평년 - 28일 3월: 7일 4월: 4일 5월: 9일 6월: 6일 7월: 11일 8월: 8일 9월: 5일 10월: 10일 11월: 7일 12월: 12일 |
|---|
| 암산 가능 | 간단한 암산으로 요일 계산 가능 |
|---|---|
| 사용 용이성 | 특별한 도구나 기록 없이 사용 가능 |
| 1단계 | 해당 연도의 앵커 데이(Anchor day)를 계산. |
|---|---|
| 2단계 | 주어진 날짜와 해당 달의 둠스데이 사이의 날짜 차이를 계산. |
| 3단계 | 앵커 데이로부터 날짜 차이만큼 요일을 더하거나 빼서 해당 날짜의 요일을 결정. |
| 실생활 | 달력 없이 특정 날짜의 요일을 빠르게 확인 |
|---|---|
| 프로그래밍 | 요일 계산 알고리즘 구현에 활용 |
| 2024년 7월 4일 | 2024년의 앵커 데이는 목요일이고, 7월의 둠스데이는 7월 11일이므로, 7월 4일은 목요일에서 7일 전인 목요일. |
|---|
| 관련 알고리즘 | 계산기 |
|---|
-
달력 알고리즘 -
율리우스일
율리우스일(JDN)은 기원전 4713년 1월 1일 정오부터 경과된 일수를 소수점으로 표현하여 천문학에서 날짜와 시간 표현, 율리우스력과 그레고리력 간 변환, 두 시점 사이의 일수 계산에 사용되는 시스템이며, 컴퓨터 처리 효율을 위해 JD, MJD, TJD 등 다양한 변종이 활용된다. -
달력 알고리즘 -
부활절 날짜
부활절 날짜는 예수의 부활을 기념하는 기독교 절기로, 천문학적 배경과 역사적 맥락에 따라 결정되며, 제1차 니케아 공의회 이후 알렉산드리아 교회에서 정한 춘분, 교회 보름달 등을 기준으로 계산되지만, 그레고리력과 율리우스력을 사용하는 교회 간에 차이가 발생한다. -
요일 -
일요일
일요일은 토요일과 월요일 사이의 한 주의 마지막 날로, 많은 국가에서 휴일이며 기독교 문화권에서는 주일로 지켜지고, 헬레니즘 점성술에서 유래한 "태양의 날"을 의미하며, 콘스탄티누스 1세가 안식일로 선포한 이후 휴일로서의 의미가 확산되어 현대 사회에서 다양한 의미를 가진다. -
요일 -
목요일
목요일은 수요일과 금요일 사이의 요일로, 유럽어권에서는 토르 또는 유피테르의 날에서 유래했으며, 한국과 일본에서는 목성을 상징하고, 인도에서는 브리하스파티를 지칭하며, 여러 종교에서 특별한 의미를 지니고, 한국의 대학수학능력시험과 영국의 총선이 치러지는 날이기도 하다.
2. 원리
어떤 한 날과 다른 한 날의 요일이 같으려면, 그 두 날 사이의 날짜 차이가 7의 배수여야 한다. 예를 들어 1월 1일과 1월 8일, 1월 15일은 같은 요일이다.
4월 4일과 6월 6일은 63일 차이가 나며, 6월 6일과 8월 8일 역시 63일 차이가 난다. 이와 같이, 한 해 안에서 요일이 서로 같은 둠스데이의 날짜 차이 역시 7의 배수이다. 둠스데이는 한 해 안에서 항상 요일이 같은 날들(예: 1월 1일과 1월 8일) 중 사람들이 기억하기 쉬운 날짜를 선택해서 만든 날들이다.
먼저 세기의 기준일을 구한다. 둠스데이 규칙의 목적을 위해 세기는 '00으로 시작하여 '99로 끝난다.
| | 기준일 || 연상 기호 || 인덱스 (요일) | |||
|---|---|---|---|
| 1600–1699 | 화요일 | — | 2 (Twoday) |
| 1700–1799 | 일요일 | — | 0 (Noneday) |
| 1800–1899 | 금요일 | — | 5 (Fiveday) |
| 1900–1999 | 수요일 | We-in-dis-day (대부분의 생존자들이 이 세기에 태어났다) | 3 (Treblesday) |
| 2000–2099 | 화요일 | Y-Tue-K 또는 Twos-day (Y2K가 이 세기의 시작이었다) | 2 (Twosday) |
| 2100–2199 | 일요일 | Twenty-one-day is Sunday (2100년은 다음 세기의 시작이다) | 0 (Noneday) |
| 2200–2299 | 금요일 | — | 5 (Fiveday) |
그레고리력의 경우, 기준일은 다음과 같이 구할 수 있다.
* 수학 공식
: 5 × (c mod 4) mod 7 + 화요일 = 기준일
* 알고리즘
: r = c mod 4
: 만약 r = 0 이면 기준일 = 화요일
: 만약 r = 1 이면 기준일 = 일요일
: 만약 r = 2 이면 기준일 = 금요일
: 만약 r = 3 이면 기준일 = 수요일
(참고: .)
다음으로, 연도의 기준일을 찾는다. 컨웨이에 따르면 이를 수행하는 방법은 다음과 같다.
1. 연도의 마지막 두 자릿수(y)를 12로 나누고, a를 바닥 몫으로 한다.
2. b를 동일한 몫의 나머지로 한다.
3. 그 나머지를 4로 나누고, c를 몫의 바닥으로 한다.
4. d를 세 숫자(d = a + b + c)의 합으로 한다. (여기서 다시 7로 나누고 나머지를 구할 수 있다. 이 숫자는 y에 y를 4로 나눈 몫을 더한 것과 동일하다.)
5. 기준일로부터 지정된 일수(d 또는 7로 나눈 나머지)만큼 앞으로 세어 연도의 둠스데이를 구한다.
:
예를 들어, 20세기 1966년의 경우를 보면 다음과 같다.
:
이는 다음과 동일하다.
:
따라서 1966년의 둠스데이는 월요일이었다.
마찬가지로, 2005년의 둠스데이는 월요일이다.
:
3. 연도별 둠스데이
그레고리력에서 특정 연도의 둠스데이는 아래 표를 통해 확인할 수 있다.
| 월 | 화 | 수 | 목 | 금 | 토 | 일 | 월 | 화 | 수 | 목 | 금 | 토 | 일 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1898 | 1899 | 1900 | 1901 | 1902 | 1903 | → | 1904 | 1905 | 1906 | 1907 | → | 1908 | 1909 |
| 1910 | 1911 | → | 1912 | 1913 | 1914 | 1915 | → | 1916 | 1917 | 1918 | 1919 | → | 1920 |
| 1921 | 1922 | 1923 | → | 1924 | 1925 | 1926 | 1927 | → | 1928 | 1929 | 1930 | 1931 | → |
| 1932 | 1933 | 1934 | 1935 | → | 1936 | 1937 | 1938 | 1939 | → | 1940 | 1941 | 1942 | 1943 |
| → | 1944 | 1945 | 1946 | 1947 | → | 1948 | 1949 | 1950 | 1951 | → | 1952 | 1953 | 1954 |
| 1955 | → | 1956 | 1957 | 1958 | 1959 | → | 1960 | 1961 | 1962 | 1963 | → | 1964 | 1965 |
| 1966 | 1967 | → | 1968 | 1969 | 1970 | 1971 | → | 1972 | 1973 | 1974 | 1975 | → | 1976 |
| 1977 | 1978 | 1979 | → | 1980 | 1981 | 1982 | 1983 | → | 1984 | 1985 | 1986 | 1987 | → |
| 1988 | 1989 | 1990 | 1991 | → | 1992 | 1993 | 1994 | 1995 | → | 1996 | 1997 | 1998 | 1999 |
| → | 2000 | 2001 | 2002 | 2003 | → | 2004 | 2005 | 2006 | 2007 | → | 2008 | 2009 | 2010 |
| 2011 | → | 2012 | 2013 | 2014 | 2015 | → | 2016 | 2017 | 2018 | 2019 | → | 2020 | 2021 |
| 2022 | 2023 | → | 2024 | 2025 | 2026 | 2027 | → | 2028 | 2029 | 2030 | 2031 | → | 2032 |
| 2033 | 2034 | 2035 | → | 2036 | 2037 | 2038 | 2039 | → | 2040 | 2041 | 2042 | 2043 | → |
| 2044 | 2045 | 2046 | 2047 | → | 2048 | 2049 | 2050 | 2051 | → | 2052 | 2053 | 2054 | 2055 |
| → | 2056 | 2057 | 2058 | 2059 | → | 2060 | 2061 | 2062 | 2063 | → | 2064 | 2065 | 2066 |
| 2067 | → | 2068 | 2069 | 2070 | 2071 | → | 2072 | 2073 | 2074 | 2075 | → | 2076 | 2077 |
| 2078 | 2079 | → | 2080 | 2081 | 2082 | 2083 | → | 2084 | 2085 | 2086 | 2087 | → | 2088 |
| 2089 | 2090 | 2091 | → | 2092 | 2093 | 2094 | 2095 | → | 2096 | 2097 | 2098 | 2099 | 2100 |
위 표는 가로 방향으로 채워지며, 윤년마다 한 열을 건너뛴다. 이 표는 율리우스력에서는 28년, 그레고리력에서는 400년마다 순환한다. 단, 그레고리력에서 100의 배수(1800, 1900, 2100과 같이 윤년이 아닌 해)이면서 400의 배수가 아닌 해(2000년은 윤년)는 예외이다. 전체 주기는 율리우스력에서는 28년(1,461주), 그레고리력에서는 400년(20,871주)이다.
1796년부터 2105년까지의 연도에 대한 앵커 데이는 아래 표와 같다.
| 일요일 | 월요일 | 화요일 | 수요일 | 목요일 | 금요일 | 토요일 |
|---|---|---|---|---|---|---|
| 1796 | 1797 | 1798 | 1799 | 1800 | 1801 | |
| 1802 | 1803 | 1804 | 1805 | 1806 | 1807 | |
| 1808 | 1809 | 1810 | 1811 | 1812 | ||
| 1813 | 1814 | 1815 | 1816 | 1817 | 1818 | |
| 1819 | 1820 | 1821 | 1822 | 1823 | ||
| 1824 | 1825 | 1826 | 1827 | 1828 | 1829 | |
| 1830 | 1831 | 1832 | 1833 | 1834 | 1835 | |
| 1836 | 1837 | 1838 | 1839 | 1840 | ||
| 1841 | 1842 | 1843 | 1844 | 1845 | 1846 | |
| 1847 | 1848 | 1849 | 1850 | 1851 | ||
| 1852 | 1853 | 1854 | 1855 | 1856 | 1857 | |
| 1858 | 1859 | 1860 | 1861 | 1862 | 1863 | |
| 1864 | 1865 | 1866 | 1867 | 1868 | ||
| 1869 | 1870 | 1871 | 1872 | 1873 | 1874 | |
| 1875 | 1876 | 1877 | 1878 | 1879 | ||
| 1880 | 1881 | 1882 | 1883 | 1884 | 1885 | |
| 1886 | 1887 | 1888 | 1889 | 1890 | 1891 | |
| 1892 | 1893 | 1894 | 1895 | 1896 | ||
| 1897 | 1898 | 1899 | 1900 | 1901 | 1902 | 1903 |
| 1904 | 1905 | 1906 | 1907 | 1908 | ||
| 1909 | 1910 | 1911 | 1912 | 1913 | 1914 | |
| 1915 | 1916 | 1917 | 1918 | 1919 | ||
| 1920 | 1921 | 1922 | 1923 | 1924 | 1925 | |
| 1926 | 1927 | 1928 | 1929 | 1930 | 1931 | |
| 1932 | 1933 | 1934 | 1935 | 1936 | ||
| 1937 | 1938 | 1939 | 1940 | 1941 | 1942 | |
| 1943 | 1944 | 1945 | 1946 | 1947 | ||
| 1948 | 1949 | 1950 | 1951 | 1952 | 1953 | |
| 1954 | 1955 | 1956 | 1957 | 1958 | 1959 | |
| 1960 | 1961 | 1962 | 1963 | 1964 | ||
| 1965 | 1966 | 1967 | 1968 | 1969 | 1970 | |
| 1971 | 1972 | 1973 | 1974 | 1975 | ||
| 1976 | 1977 | 1978 | 1979 | 1980 | 1981 | |
| 1982 | 1983 | 1984 | 1985 | 1986 | 1987 | |
| 1988 | 1989 | 1990 | 1991 | 1992 | ||
| 1993 | 1994 | 1995 | 1996 | 1997 | 1998 | |
| 1999 | 2000 | 2001 | 2002 | 2003 | ||
| 2004 | 2005 | 2006 | 2007 | 2008 | 2009 | |
| 2010 | 2011 | 2012 | 2013 | 2014 | 2015 | |
| 2016 | 2017 | 2018 | 2019 | 2020 | ||
| 2021 | 2022 | 2023 | 2024 | 2025 | 2026 | |
| 2027 | 2028 | 2029 | 2030 | 2031 | ||
| 2032 | 2033 | 2034 | 2035 | 2036 | 2037 | |
| 2038 | 2039 | 2040 | 2041 | 2042 | 2043 | |
| 2044 | 2045 | 2046 | 2047 | 2048 | ||
| 2049 | 2050 | 2051 | 2052 | 2053 | 2054 | |
| 2055 | 2056 | 2057 | 2058 | 2059 | ||
| 2060 | 2061 | 2062 | 2063 | 2064 | 2065 | |
| 2066 | 2067 | 2068 | 2069 | 2070 | 2071 | |
| 2072 | 2073 | 2074 | 2075 | 2076 | ||
| 2077 | 2078 | 2079 | 2080 | 2081 | 2082 | |
| 2083 | 2084 | 2085 | 2086 | 2087 | ||
| 2088 | 2089 | 2090 | 2091 | 2092 | 2093 | |
| 2094 | 2095 | 2096 | 2097 | 2098 | 2099 | |
| 2100 | 2101 | 2102 | 2103 | 2104 | 2105 |
3.1. 둠스데이 계산 방법
어떤 한 날과 다른 한 날의 요일이 같으려면, 그 두 날 사이의 날짜 차이가 7의 배수여야 한다. 예를 들어 1월 1일과 1월 8일, 1월 15일은 같은 요일이다.
4월 4일과 6월 6일은 63일 차이가 나며, 6월 6일과 8월 8일 역시 63일 차이가 난다. 이와 같이, 한 해 안에서 요일이 서로 같은 둠스데이의 날짜 차이 역시 7의 배수이다. 둠스데이는 한 해 안에서 항상 요일이 같은 날들, 예를 들자면 1월 1일과 1월 8일 같은 날들 중 사람들이 기억하기 쉬운 날짜를 선택해서 만든 날들이다.
먼저 세기의 기준일을 구한다. 둠스데이 규칙의 목적을 위해 세기는 '00으로 시작하여 '99로 끝난다. 다음 표는 1600–1699, 1700–1799, 1800–1899, 1900–1999, 2000–2099, 2100–2199, 2200–2299 세기의 기준일을 보여준다.
| | 기준일 || 연상 기호 || 인덱스 (요일) | |||
|---|---|---|---|
| 1600–1699 | 화요일 | — | 2 (Twoday) |
| 1700–1799 | 일요일 | — | 0 (Noneday) |
| 1800–1899 | 금요일 | — | 5 (Fiveday) |
| 1900–1999 | 수요일 | We-in-dis-day (대부분의 생존자들이 이 세기에 태어났다) | 3 (Treblesday) |
| 2000–2099 | 화요일 | Y-Tue-K 또는 Twos-day (Y2K가 이 세기의 시작이었다) | 2 (Twosday) |
| 2100–2199 | 일요일 | Twenty-one-day is Sunday (2100년은 다음 세기의 시작이다) | 0 (Noneday) |
| 2200–2299 | 금요일 | — | 5 (Fiveday) |
그레고리력의 경우, 수학 공식은 다음과 같다.
:5 × (c mod 4) mod 7 + 화요일 = 기준일
알고리즘으로 풀면 다음과 같다.
:r = c mod 4
:*만약 r = 0 이면 기준일 = 화요일
:*만약 r = 1 이면 기준일 = 일요일
:*만약 r = 2 이면 기준일 = 금요일
:*만약 r = 3 이면 기준일 = 수요일
율리우스력의 경우, 공식은 다음과 같다.
:6c mod 7 + 일요일 = 기준일
:(참고: c = (year / 100)의 내림값)
다음으로, 연도의 기준일을 찾는다. 컨웨이에 따르면 이를 수행하는 방법은 다음과 같다.
# 연도의 마지막 두 자릿수(y라고 한다)를 12로 나누고, a를 몫의 바닥으로 한다.
# b를 동일한 몫의 나머지로 한다.
# 그 나머지를 4로 나누고, c를 몫의 바닥으로 한다.
# d를 세 숫자(d = a + b + c)의 합으로 한다. (여기서 다시 7로 나누고 나머지를 구할 수 있다. 이 숫자는 y에 y를 4로 나눈 몫을 더한 것과 동일하다.)
# 기준일로부터 지정된 일수(d 또는 d/7의 나머지)만큼 앞으로 세어 연도의 둠스데이를 구한다.
:
예를 들어, 20세기 1966년의 경우를 보면 다음과 같다.
:
위의 4번 항목에서 설명한 바와 같이, 이는 다음과 동일하다.
:
따라서 1966년의 둠스데이는 월요일이었다.
마찬가지로, 2005년의 둠스데이는 다음과 같이 월요일이다.
:
둠스데이의 기준일 계산은 기본 연도의 특정 날짜와 현재 연도의 동일한 날짜 사이의 일수를 계산한 다음, 7로 나눈 나머지를 구하는 방식으로 이루어진다. 두 날짜 모두 윤일(있는 경우) 이후에 오는 경우, 차이는 365y + y/4 (내림)이다. 365는 52 × 7 + 1과 같으므로, 나머지를 구하면 다음과 같다.
:
이것은 y의 큰 값을 4와 7로 나누는 데 익숙하다면 더 간단한 공식을 제공한다. 예를 들어, 다음과 같이 계산할 수 있다.
:
이는 위의 예와 동일한 답을 제공한다.
12가 관여하는 부분은 의 패턴이 12년마다 '거의' 반복되기 때문이다. 12년 후에는 이 된다. y를 y mod 12로 바꾸면 이 추가 날짜를 버리는 것이 된다. 하지만 를 다시 더하면 이 오류를 보정하여 최종 공식을 얻을 수 있다.
연도의 기준일을 찾는 더 간단한 방법은 2010년 챔벌린 퐁과 마이클 K. 월터스에 의해 발견되었으며, 제7회 국제 산업 및 응용 수학 회의 (2011)에 제출된 논문에 설명되어 있다. "홀수 + 11" 방법이라고 불리며, 이는 다음과 같은 계산과 같다.
:.
이는 4(또는 12)로 나누기가 필요 없고, "홀수 + 11" 규칙을 반복적으로 사용하기 때문에 암산에 적합하며, 절차를 기억하기 쉽다. 또한, 11을 더하는 것은 10진법 산술에서 암산으로 수행하기 매우 쉽다.
이를 기준일로 확장하면, 절차는 종종 다음과 같이 6단계로 T의 누적 합계를 계산하는 것으로 설명된다.
# T를 연도의 마지막 두 자리 숫자로 설정한다.
# 만약 T가 홀수라면, 11을 더한다.
# 이제 T = T/2.
# 만약 T가 홀수라면, 11을 더한다.
# 이제 T = 7 − (T mod 7).
# 세기의 기준일로부터 T일 앞으로 계산하여 연도의 기준일을 구한다.
예를 들어, 2005년에 이 방법을 적용하면 단계는 다음과 같다.
# T = 5
# T = 5 + 11 = 16 (T가 홀수이므로 11을 더한다)
# T = 16/2 = 8
# T = 8 (T가 짝수이므로 아무것도 하지 않는다)
# T = 7 − (8 mod 7) = 7 − 1 = 6
# 2005년 둠스데이 = 6 + 화요일 = 월요일
홀수+11 방법에 대한 명시적 공식은 다음과 같다.
:.
이 식은 복잡해 보이지만, 공통 부분식 가 있기 때문에 한 번만 계산하면 되므로 실제로는 간단하다.
컴퓨터 사용을 위해, 해당 연도의 앵커 날짜를 계산하는 데 편리한 다음 공식들이 있다.
그레고리력의 경우:
:앵커 날짜 = 화요일 + y + (y/4의 내림값) - (y/100의 내림값) + (y/400의 내림값) = 화요일 + 5× (y mod 4) + 4× (y mod 100) + 6× (y mod 400)
예를 들어, 2009년의 둠스데이는 그레고리력(현재 사용되는 달력)에 따르면 토요일인데, 그 이유는 다음과 같다.
:토요일 (6) mod 7 = 화요일 (2) + 2009 + (2009/4의 내림값) - (2009/100의 내림값) + (2009/400의 내림값)
또 다른 예로, 1946년의 둠스데이는 목요일인데, 그 이유는 다음과 같다.
:목요일 (4) mod 7 = 화요일 (2) + 1946 + (1946/4의 내림값) - (1946/100의 내림값) + (1946/400의 내림값)
율리우스력의 경우:
:앵커 날짜 = 일요일 + y + (y/4의 내림값) = 일요일+ 5× (y mod 4) + 3× (y mod 7)
이 공식들은 그레고리력 시작 전 시대 및 율리우스력 시작 전 시대에도 적용된다.
3.2. 둠스데이 표
그레고리력으로 특정 연도의 둠스데이를 보여주는 표는 다음과 같다.
| 월 | 화 | 수 | 목 | 금 | 토 | 일 | 월 | 화 | 수 | 목 | 금 | 토 | 일 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1898 | 1899 | 1900 | 1901 | 1902 | 1903 | → | 1904 | 1905 | 1906 | 1907 | → | 1908 | 1909 |
| 1910 | 1911 | → | 1912 | 1913 | 1914 | 1915 | → | 1916 | 1917 | 1918 | 1919 | → | 1920 |
| 1921 | 1922 | 1923 | → | 1924 | 1925 | 1926 | 1927 | → | 1928 | 1929 | 1930 | 1931 | → |
| 1932 | 1933 | 1934 | 1935 | → | 1936 | 1937 | 1938 | 1939 | → | 1940 | 1941 | 1942 | 1943 |
| → | 1944 | 1945 | 1946 | 1947 | → | 1948 | 1949 | 1950 | 1951 | → | 1952 | 1953 | 1954 |
| 1955 | → | 1956 | 1957 | 1958 | 1959 | → | 1960 | 1961 | 1962 | 1963 | → | 1964 | 1965 |
| 1966 | 1967 | → | 1968 | 1969 | 1970 | 1971 | → | 1972 | 1973 | 1974 | 1975 | → | 1976 |
| 1977 | 1978 | 1979 | → | 1980 | 1981 | 1982 | 1983 | → | 1984 | 1985 | 1986 | 1987 | → |
| 1988 | 1989 | 1990 | 1991 | → | 1992 | 1993 | 1994 | 1995 | → | 1996 | 1997 | 1998 | 1999 |
| → | 2000 | 2001 | 2002 | 2003 | → | 2004 | 2005 | 2006 | 2007 | → | 2008 | 2009 | 2010 |
| 2011 | → | 2012 | 2013 | 2014 | 2015 | → | 2016 | 2017 | 2018 | 2019 | → | 2020 | 2021 |
| 2022 | 2023 | → | 2024 | 2025 | 2026 | 2027 | → | 2028 | 2029 | 2030 | 2031 | → | 2032 |
| 2033 | 2034 | 2035 | → | 2036 | 2037 | 2038 | 2039 | → | 2040 | 2041 | 2042 | 2043 | → |
| 2044 | 2045 | 2046 | 2047 | → | 2048 | 2049 | 2050 | 2051 | → | 2052 | 2053 | 2054 | 2055 |
| → | 2056 | 2057 | 2058 | 2059 | → | 2060 | 2061 | 2062 | 2063 | → | 2064 | 2065 | 2066 |
| 2067 | → | 2068 | 2069 | 2070 | 2071 | → | 2072 | 2073 | 2074 | 2075 | → | 2076 | 2077 |
| 2078 | 2079 | → | 2080 | 2081 | 2082 | 2083 | → | 2084 | 2085 | 2086 | 2087 | → | 2088 |
| 2089 | 2090 | 2091 | → | 2092 | 2093 | 2094 | 2095 | → | 2096 | 2097 | 2098 | 2099 | 2100 |
이 표는 가로 방향으로 채워지며, 윤년마다 한 열을 건너뛴다. 이 표는 율리우스력에서는 28년마다, 그레고리력에서는 400년마다 순환한다. 단, 그레고리력에서 100의 배수(1800, 1900, 2100과 같이 윤년이 아닌)이면서 400의 배수(2000년은 여전히 윤년인 것처럼)가 아닌 해는 예외이다. 전체 주기는 율리우스력에서는 28년(1,461주), 그레고리력에서는 400년(20,871주)이다.
1796년부터 2105년까지의 연도에 대한 앵커 데이는 다음과 같다.
| 일요일 | 월요일 | 화요일 | 수요일 | 목요일 | 금요일 | 토요일 |
|---|---|---|---|---|---|---|
| 1796 | 1797 | 1798 | 1799 | 1800 | 1801 | |
| 1802 | 1803 | 1804 | 1805 | 1806 | 1807 | |
| 1808 | 1809 | 1810 | 1811 | 1812 | ||
| 1813 | 1814 | 1815 | 1816 | 1817 | 1818 | |
| 1819 | 1820 | 1821 | 1822 | 1823 | ||
| 1824 | 1825 | 1826 | 1827 | 1828 | 1829 | |
| 1830 | 1831 | 1832 | 1833 | 1834 | 1835 | |
| 1836 | 1837 | 1838 | 1839 | 1840 | ||
| 1841 | 1842 | 1843 | 1844 | 1845 | 1846 | |
| 1847 | 1848 | 1849 | 1850 | 1851 | ||
| 1852 | 1853 | 1854 | 1855 | 1856 | 1857 | |
| 1858 | 1859 | 1860 | 1861 | 1862 | 1863 | |
| 1864 | 1865 | 1866 | 1867 | 1868 | ||
| 1869 | 1870 | 1871 | 1872 | 1873 | 1874 | |
| 1875 | 1876 | 1877 | 1878 | 1879 | ||
| 1880 | 1881 | 1882 | 1883 | 1884 | 1885 | |
| 1886 | 1887 | 1888 | 1889 | 1890 | 1891 | |
| 1892 | 1893 | 1894 | 1895 | 1896 | ||
| 1897 | 1898 | 1899 | 1900 | 1901 | 1902 | 1903 |
| 1904 | 1905 | 1906 | 1907 | 1908 | ||
| 1909 | 1910 | 1911 | 1912 | 1913 | 1914 | |
| 1915 | 1916 | 1917 | 1918 | 1919 | ||
| 1920 | 1921 | 1922 | 1923 | 1924 | 1925 | |
| 1926 | 1927 | 1928 | 1929 | 1930 | 1931 | |
| 1932 | 1933 | 1934 | 1935 | 1936 | ||
| 1937 | 1938 | 1939 | 1940 | 1941 | 1942 | |
| 1943 | 1944 | 1945 | 1946 | 1947 | ||
| 1948 | 1949 | 1950 | 1951 | 1952 | 1953 | |
| 1954 | 1955 | 1956 | 1957 | 1958 | 1959 | |
| 1960 | 1961 | 1962 | 1963 | 1964 | ||
| 1965 | 1966 | 1967 | 1968 | 1969 | 1970 | |
| 1971 | 1972 | 1973 | 1974 | 1975 | ||
| 1976 | 1977 | 1978 | 1979 | 1980 | 1981 | |
| 1982 | 1983 | 1984 | 1985 | 1986 | 1987 | |
| 1988 | 1989 | 1990 | 1991 | 1992 | ||
| 1993 | 1994 | 1995 | 1996 | 1997 | 1998 | |
| 1999 | 2000 | 2001 | 2002 | 2003 | ||
| 2004 | 2005 | 2006 | 2007 | 2008 | 2009 | |
| 2010 | 2011 | 2012 | 2013 | 2014 | 2015 | |
| 2016 | 2017 | 2018 | 2019 | 2020 | ||
| 2021 | 2022 | 2023 | 2024 | 2025 | 2026 | |
| 2027 | 2028 | 2029 | 2030 | 2031 | ||
| 2032 | 2033 | 2034 | 2035 | 2036 | 2037 | |
| 2038 | 2039 | 2040 | 2041 | 2042 | 2043 | |
| 2044 | 2045 | 2046 | 2047 | 2048 | ||
| 2049 | 2050 | 2051 | 2052 | 2053 | 2054 | |
| 2055 | 2056 | 2057 | 2058 | 2059 | ||
| 2060 | 2061 | 2062 | 2063 | 2064 | 2065 | |
| 2066 | 2067 | 2068 | 2069 | 2070 | 2071 | |
| 2072 | 2073 | 2074 | 2075 | 2076 | ||
| 2077 | 2078 | 2079 | 2080 | 2081 | 2082 | |
| 2083 | 2084 | 2085 | 2086 | 2087 | ||
| 2088 | 2089 | 2090 | 2091 | 2092 | 2093 | |
| 2094 | 2095 | 2096 | 2097 | 2098 | 2099 | |
| 2100 | 2101 | 2102 | 2103 | 2104 | 2105 |
세기별 기준일은 다음과 같다.
| | 기준일 | |
|---|---|
| 1600–1699 | 화요일 |
| 1700–1799 | 일요일 |
| 1800–1899 | 금요일 |
| 1900–1999 | 수요일 |
| 2000–2099 | 화요일 |
| 2100–2199 | 일요일 |
| 2200–2299 | 금요일 |
4. 기억하기 쉬운 둠스데이
어떤 달력 날짜의 요일을 쉽게 찾기 위해서는 가까운 둠스데이를 기준으로 삼으면 편리하다. 각 달의 둠스데이를 쉽게 기억하는 방법은 다음과 같다.
* 1월: 평년에는 1월 3일, 윤년에는 1월 4일이 둠스데이이다. "4년 중 3년은 3일, 4번째 해는 4일"로 기억하면 쉽다.
* 2월: 2월의 마지막 날은 항상 둠스데이이다.
* 3월: 3월 0일(3월 1일 전날, 즉 2월의 마지막 날) 또는 원주율 날(3월 14일)을 떠올리면 된다.
* 4월 ~ 12월 (짝수 달): 4/4, 6/6, 8/8, 10/10, 12/12처럼 날짜가 겹치는 날이 둠스데이이다.
* 5월 ~ 11월 (홀수 달): "나는 9시부터 5시까지 7-11에서 일한다"라는 문장을 활용하면 9/5, 7/11, 5/9, 11/7을 쉽게 기억할 수 있다.
미국 독립 기념일, 복싱 데이, 평년의 밸런타인데이 등도 매년 둠스데이에 해당한다.
| 월 | 기억할 만한 날짜 | 월/일 | 기억술 |
|---|---|---|---|
| 1월 | 1월 3일 (평년), 1월 4일 (윤년) | 1/3 또는 1/4 | 4년 중 3년은 3일, 4번째 해는 4일 |
| 2월 | 2월 28일 (평년), 2월 29일 (윤년) | 2/28 또는 2/29 | 2월의 마지막 날 |
| 3월 | "3월 0일", 3월 14일 | 3/0 그리고 3/14 | 2월의 마지막 날, 원주율 날 |
| 4월 | 4월 4일 | 4/4 | 4/4, 6/6, 8/8, 10/10, 12/12 |
| 5월 | 5월 9일 | 5/9 | 9시-5시 7-11에서 |
| 6월 | 6월 6일 | 6/6 | 4/4, 6/6, 8/8, 10/10, 12/12 |
| 7월 | 7월 11일 | 7/11 | 9시-5시 7-11에서 |
| 8월 | 8월 8일 | 8/8 | 4/4, 6/6, 8/8, 10/10, 12/12 |
| 9월 | 9월 5일 | 9/5 | 9시-5시 7-11에서 |
| 10월 | 10월 10일 | 10/10 | 4/4, 6/6, 8/8, 10/10, 12/12 |
| 11월 | 11월 7일 | 11/7 | 9시-5시 7-11에서 |
| 12월 | 12월 12일 | 12/12 | 4/4, 6/6, 8/8, 10/10, 12/12 |
특정 연도의 둠스데이는 그 해의 3월부터 다음 해 2월까지의 날짜 요일과 관련이 깊다. 따라서 같은 해 1월과 2월은 평년과 윤년을 구분해야 한다.
5. 요일 이름 연상 기호
이 알고리즘은 요일을 7을 법으로 하는 숫자처럼 취급하므로, 존 콘웨이는 요일과 숫자의 관계를 머릿속으로 일일이 세지 않고 기억하기 위해 요일을 "무요일" 또는 "일요일"(일요일), "일요일"(월요일), "이요일"(화요일), "세요일"(수요일), "네요일"(목요일), "다섯요일"(금요일), "여섯요일"(토요일)로 생각하는 것을 제안했다.
| 요일 | 색인 번호 | 연상 기호 |
|---|---|---|
| 일요일 | 0 | 무요일 또는 일요일 |
| 월요일 | 1 | 일요일 |
| 화요일 | 2 | 이요일 |
| 수요일 | 3 | 세요일 |
| 목요일 | 4 | 네요일 |
| 금요일 | 5 | 다섯요일 |
| 토요일 | 6 | 여섯요일 |
슬라브어군, 중국어, 에스토니아어, 그리스어, 포르투갈어, 갈리시아어, 히브리어와 같은 일부 언어는 요일 이름의 일부를 순서대로 사용한다. 슬라브어, 중국어, 에스토니아어는 위의 표와 일치하며, 언급된 다른 언어는 일요일을 첫 번째 요일로 계산한다.
6. 둠스데이 알고리즘의 활용
둠스데이 알고리즘은 특정 날짜의 요일을 빠르고 정확하게 계산하는 방법이다. 이 알고리즘을 활용하면 달력을 보지 않고도 요일을 알 수 있다.
둠스데이 알고리즘의 핵심은 '둠스데이'라는 기준 날짜를 이용하는 것이다. 둠스데이는 각 연도마다 요일이 정해져 있는 특정한 날짜이다. 예를 들어, 2024년의 둠스데이는 목요일이다.
둠스데이는 연도뿐만 아니라 월별로도 정해져 있다. 짝수 달(4, 6, 8, 10, 12월)은 해당 월의 날짜와 같은 숫자의 날이 둠스데이가 된다 (4월 4일, 6월 6일, 8월 8일, 10월 10일, 12월 12일). 홀수 달은 "나는 9시부터 5시까지 7-11에서 일한다"라는 문장을 통해 둠스데이를 기억할 수 있다 (5월 9일, 7월 11일, 9월 5일, 11월 7일).
| 월 | 기억할 만한 날짜 | 월/일 | 기억술 |
|---|---|---|---|
| 1월 | 1월 3일 (평년), 1월 4일 (윤년) | 1/3 또는 1/4 | 4년 중 3년은 3일, 4번째 해는 4일 |
| 2월 | 2월 28일 (평년), 2월 29일 (윤년) | 2/28 또는 2/29 | 2월의 마지막 날 |
| 3월 | 3월 0일, 3월 14일 | 3/0 그리고 3/14 | 2월의 마지막 날, 원주율 날 |
| 4월 | 4월 4일 | 4/4 | 4/4, 6/6, 8/8, 10/10, 12/12 |
| 5월 | 5월 9일 | 5/9 | 9시-5시 7-11에서 |
| 6월 | 6월 6일 | 6/6 | 4/4, 6/6, 8/8, 10/10, 12/12 |
| 7월 | 7월 11일 | 7/11 | 9시-5시 7-11에서 |
| 8월 | 8월 8일 | 8/8 | 4/4, 6/6, 8/8, 10/10, 12/12 |
| 9월 | 9월 5일 | 9/5 | 9시-5시 7-11에서 |
| 10월 | 10월 10일 | 10/10 | 4/4, 6/6, 8/8, 10/10, 12/12 |
| 11월 | 11월 7일 | 11/7 | 9시-5시 7-11에서 |
| 12월 | 12월 12일 | 12/12 | 4/4, 6/6, 8/8, 10/10, 12/12 |
1796년부터 2105년까지의 연도별 둠스데이는 다음 표와 같다.
| 일요일 | 월요일 | 화요일 | 수요일 | 목요일 | 금요일 | 토요일 |
|---|---|---|---|---|---|---|
| 1796 | 1797 | 1798 | 1799 | 1800 | 1801 | |
| 1802 | 1803 | 1804 | 1805 | 1806 | 1807 | |
| 1808 | 1809 | 1810 | 1811 | 1812 | ||
| 1813 | 1814 | 1815 | 1816 | 1817 | 1818 | |
| 1819 | 1820 | 1821 | 1822 | 1823 | ||
| 1824 | 1825 | 1826 | 1827 | 1828 | 1829 | |
| 1830 | 1831 | 1832 | 1833 | 1834 | 1835 | |
| 1836 | 1837 | 1838 | 1839 | 1840 | ||
| 1841 | 1842 | 1843 | 1844 | 1845 | 1846 | |
| 1847 | 1848 | 1849 | 1850 | 1851 | ||
| 1852 | 1853 | 1854 | 1855 | 1856 | 1857 | |
| 1858 | 1859 | 1860 | 1861 | 1862 | 1863 | |
| 1864 | 1865 | 1866 | 1867 | 1868 | ||
| 1869 | 1870 | 1871 | 1872 | 1873 | 1874 | |
| 1875 | 1876 | 1877 | 1878 | 1879 | ||
| 1880 | 1881 | 1882 | 1883 | 1884 | 1885 | |
| 1886 | 1887 | 1888 | 1889 | 1890 | 1891 | |
| 1892 | 1893 | 1894 | 1895 | 1896 | ||
| 1897 | 1898 | 1899 | 1900 | 1901 | 1902 | 1903 |
| 1904 | 1905 | 1906 | 1907 | 1908 | ||
| 1909 | 1910 | 1911 | 1912 | 1913 | 1914 | |
| 1915 | 1916 | 1917 | 1918 | 1919 | ||
| 1920 | 1921 | 1922 | 1923 | 1924 | 1925 | |
| 1926 | 1927 | 1928 | 1929 | 1930 | 1931 | |
| 1932 | 1933 | 1934 | 1935 | 1936 | ||
| 1937 | 1938 | 1939 | 1940 | 1941 | 1942 | |
| 1943 | 1944 | 1945 | 1946 | 1947 | ||
| 1948 | 1949 | 1950 | 1951 | 1952 | 1953 | |
| 1954 | 1955 | 1956 | 1957 | 1958 | 1959 | |
| 1960 | 1961 | 1962 | 1963 | 1964 | ||
| 1965 | 1966 | 1967 | 1968 | 1969 | 1970 | |
| 1971 | 1972 | 1973 | 1974 | 1975 | ||
| 1976 | 1977 | 1978 | 1979 | 1980 | 1981 | |
| 1982 | 1983 | 1984 | 1985 | 1986 | 1987 | |
| 1988 | 1989 | 1990 | 1991 | 1992 | ||
| 1993 | 1994 | 1995 | 1996 | 1997 | 1998 | |
| 1999 | 2000 | 2001 | 2002 | 2003 | ||
| 2004 | 2005 | 2006 | 2007 | 2008 | 2009 | |
| 2010 | 2011 | 2012 | 2013 | 2014 | 2015 | |
| 2016 | 2017 | 2018 | 2019 | 2020 | ||
| 2021 | 2022 | 2023 | 2024 | 2025 | 2026 | |
| 2027 | 2028 | 2029 | 2030 | 2031 | ||
| 2032 | 2033 | 2034 | 2035 | 2036 | 2037 | |
| 2038 | 2039 | 2040 | 2041 | 2042 | 2043 | |
| 2044 | 2045 | 2046 | 2047 | 2048 | ||
| 2049 | 2050 | 2051 | 2052 | 2053 | 2054 | |
| 2055 | 2056 | 2057 | 2058 | 2059 | ||
| 2060 | 2061 | 2062 | 2063 | 2064 | 2065 | |
| 2066 | 2067 | 2068 | 2069 | 2070 | 2071 | |
| 2072 | 2073 | 2074 | 2075 | 2076 | ||
| 2077 | 2078 | 2079 | 2080 | 2081 | 2082 | |
| 2083 | 2084 | 2085 | 2086 | 2087 | ||
| 2088 | 2089 | 2090 | 2091 | 2092 | 2093 | |
| 2094 | 2095 | 2096 | 2097 | 2098 | 2099 | |
| 2100 | 2101 | 2102 | 2103 | 2104 | 2105 |
이 표는 율리우스력에서는 28년, 그레고리력에서는 400년마다 반복된다.
6.1. 예시
2021년 크리스마스가 무슨 요일인지 알려면 다음과 같이 진행한다. 2021년의 둠스데이는 일요일이다. 12월 12일은 둠스데이이므로, 그로부터 13일 뒤(2주에서 하루 뺀 날)인 12월 25일은 토요일이다. 크리스마스는 항상 둠스데이의 전날이다. 또한 미국 독립 기념일(미국 독립 기념일)인 7월 4일은 항상 둠스데이와 같은 요일이며, 할로윈(10월 31일), 파이데이(3월 14일), 그리고 12월 26일(박싱 데이)도 마찬가지다.
1985년 9월 18일이 무슨 요일인지 알고 싶다고 가정해 보자. 먼저 세기의 기준 요일인 수요일부터 시작한다. 여기에 a, b, c를 더한다.
* a는 85/12의 몫인데, 이는 7이다.
* b는 85 mod 12인데, 이는 1이다.
* c는 b/4의 몫인데, 이는 0이다.
이렇게 하면 a + b + c = 8이 된다. 수요일부터 8일을 세면 목요일에 도달하는데, 이는 1985년의 둠스데이이다. (숫자를 사용하면: 모듈로 7 산술에서 8은 1과 합동이다. 세기의 기준 요일이 수요일(인덱스 3)이고 3 + 1 = 4이므로 1985년의 둠스데이는 목요일(인덱스 4)이었다.) 이제 9월 18일을 근처의 둠스데이인 9월 5일과 비교한다. 18일은 둠스데이에서 13일 지난 날짜, 즉 2주보다 하루 적다는 것을 알 수 있다. 따라서 18일은 수요일이었다(목요일 바로 전날). (숫자를 사용하면: 모듈로 7 산술에서 13은 6 또는 더 간결하게는 -1과 합동이다. 따라서 둠스데이인 목요일에서 1을 빼면 1985년 9월 18일이 수요일이었다는 것을 알 수 있다.)
미국 남북 전쟁이 1861년 4월 12일에 섬터 요새에서 발발했을 때 요일을 구한다고 가정해 보자. 해당 세기의 앵커 데이는 화요일로부터 94일 후, 즉 금요일이었다. (18 × 5 + ⌊18/4⌋로 계산, 또는 위에 있는 표에서 세기의 앵커 데이를 참조). 숫자 61은 6일의 변위를 주므로 둠스데이(doomsday)는 목요일이었다. 따라서 4월 4일은 목요일이었고, 8일 뒤인 4월 12일은 금요일이었다.
7. 둠스데이와 요일 문자
둠스데이 알고리즘에서 특정 연도의 요일 문자는 그 해의 둠스데이와 관련이 있다.
| 둠스데이 | 요일 문자 | |
|---|---|---|
| 평년 | 윤년 | |
| 일요일 | C | DC |
| 월요일 | B | CB |
| 화요일 | A | BA |
| 수요일 | G | AG |
| 목요일 | F | GF |
| 금요일 | E | FE |
| 토요일 | D | ED |
요일 문자를 찾으려면 아래 표를 참조할 수 있다.
| 세 자리수 연도 || colspan=1 rowspan=2 | D L || colspan=4 rowspan=2 | 나머지 두 자리수 연도 || colspan=1 rowspan=2 | # | |||||||
|---|---|---|---|---|---|---|---|
| 율리우스력 (r ÷ 7) | 그레고리력 (r ÷ 4) | ||||||
| r5 19 | 16 20 r0 | A | 00 06 17 23 | 28 34 45 51 | 56 62 73 79 | 84 90 | 0 |
| r4 18 | 15 19 r3 | G | 01 07 12 18 | 29 35 40 46 | 57 63 68 74 | 85 91 96 | 1 |
| r3 17 | 해당 없음 | F | 02 13 19 24 | 30 41 47 52 | 58 69 75 80 | 86 97 | 2 |
| r2 16 | 18 22 r2 | E | 03 08 14 25 | 31 36 42 53 | 59 64 70 81 | 87 92 98 | 3 |
| r1 15 | 해당 없음 | D | 09 15 20 26 | 37 43 48 54 | 65 71 76 82 | 93 99 | 4 |
| r0 14 | 17 21 r1 | C | 04 10 21 27 | 32 38 49 55 | 60 66 77 83 | 88 94 | 5 |
| r6 13 | 해당 없음 | B | 05 11 16 22 | 33 39 44 50 | 61 67 72 78 | 89 95 | 6 |
8. 400년 주기
둠스데이 알고리즘에서 그레고리력은 400년마다 반복되는데, 이는 400년 동안 정확히 146,097일, 즉 20,871주가 있기 때문이다. 따라서 1700-1799년의 앵커 데이는 2100-2199년의 앵커 데이와 같으며, 이들은 모두 일요일이다.
둠스데이의 전체 400년 주기는 아래 표와 같다. 세기는 가상 그레고리력 및 율리우스력(J)을 기준으로 표시되어 있다. 그레고리력 윤년은 강조 표시되어 있다.
| 일요일 | 월요일 | 화요일 | 수요일 | 목요일 | 금요일 | 토요일 | 합계 | |
|---|---|---|---|---|---|---|---|---|
| 평년 | 43 | 43 | 43 | 43 | 44 | 43 | 44 | 303 |
| 윤년 | 13 | 15 | 13 | 15 | 13 | 14 | 14 | 97 |
| 합계 | 56 | 58 | 56 | 58 | 57 | 57 | 58 | 400 |
400년 주기 동안 특정 날짜가 특정 요일에 해당되는 빈도는 위 표에서 쉽게 알 수 있다. 예를 들어, 2월 28일은 전년도의 둠스데이 다음 날이므로 화요일, 목요일, 일요일에 각각 58번 해당한다. 2월 29일은 윤년의 둠스데이이므로 월요일과 수요일에 각각 15번 해당한다.
율리우스력은 28년 주기로 반복된다. 이 주기 동안 모든 요일은 윤년에 한 번, 평년에 세 번 나타난다. 평년은 윤년 이후 6년, 17년, 23년 후에 나타나므로, 6년, 11년, 6년, 5년 간격으로 불규칙하게 분포한다.
9. 율리우스력과 둠스데이
그레고리력은 현재 동지와 같은 천문 현상과 정확히 일치한다. 1582년에 율리우스력의 수정이 처음 시행되었다. 달력의 오차를 수정하기 위해 10일이 건너뛰어졌고, 종말일은 10일(즉, 3일) 앞으로 이동했다. 즉, 10월 4일 목요일(율리우스력, 종말일은 수요일) 다음 날은 10월 15일 금요일(그레고리력, 종말일은 일요일)이었다. 표에는 율리우스력 연도가 포함되어 있지만, 알고리즘은 그레고리력과 원시 그레고리력에만 적용된다.
그레고리력은 모든 국가에서 동시에 채택된 것이 아니므로, 수세기 동안 서로 다른 지역에서 같은 날짜에 서로 다른 날짜를 사용했다는 점에 유의해야 한다.
10. 둠스데이 계산 공식
어떤 한 날과 다른 한 날의 요일이 같으려면, 그 두 날 사이의 날짜 차이가 7의 배수여야 한다. 예를 들어 1월 1일과 1월 8일, 1월 15일은 같은 요일이다.
4월 4일과 6월 6일은 63일 차이가 나며, 6월 6일과 8월 8일 역시 63일 차이가 난다. 이와 같이, 한 해 안에서 요일이 서로 같은 둠스데이의 날짜 차이 역시 7의 배수이다. 둠스데이는 한 해 안에서 항상 요일이 같은 날들 중 사람들이 기억하기 쉬운 날짜를 선택해서 만든 날들이다.
둠스데이 알고리즘에서 현재 그레고리력 연도의 앵커 데이는 이다.
1796년부터 2105년까지의 연도에 대한 앵커 데이는 다음과 같다.
| 일요일 | 월요일 | 화요일 | 수요일 | 목요일 | 금요일 | 토요일 |
|---|---|---|---|---|---|---|
| 1796 | 1797 | 1798 | 1799 | 1800 | 1801 | |
| 1802 | 1803 | 1804 | 1805 | 1806 | 1807 | |
| 1808 | 1809 | 1810 | 1811 | 1812 | ||
| 1813 | 1814 | 1815 | 1816 | 1817 | 1818 | |
| 1819 | 1820 | 1821 | 1822 | 1823 | ||
| 1824 | 1825 | 1826 | 1827 | 1828 | 1829 | |
| 1830 | 1831 | 1832 | 1833 | 1834 | 1835 | |
| 1836 | 1837 | 1838 | 1839 | 1840 | ||
| 1841 | 1842 | 1843 | 1844 | 1845 | 1846 | |
| 1847 | 1848 | 1849 | 1850 | 1851 | ||
| 1852 | 1853 | 1854 | 1855 | 1856 | 1857 | |
| 1858 | 1859 | 1860 | 1861 | 1862 | 1863 | |
| 1864 | 1865 | 1866 | 1867 | 1868 | ||
| 1869 | 1870 | 1871 | 1872 | 1873 | 1874 | |
| 1875 | 1876 | 1877 | 1878 | 1879 | ||
| 1880 | 1881 | 1882 | 1883 | 1884 | 1885 | |
| 1886 | 1887 | 1888 | 1889 | 1890 | 1891 | |
| 1892 | 1893 | 1894 | 1895 | 1896 | ||
| 1897 | 1898 | 1899 | 1900 | 1901 | 1902 | 1903 |
| 1904 | 1905 | 1906 | 1907 | 1908 | ||
| 1909 | 1910 | 1911 | 1912 | 1913 | 1914 | |
| 1915 | 1916 | 1917 | 1918 | 1919 | ||
| 1920 | 1921 | 1922 | 1923 | 1924 | 1925 | |
| 1926 | 1927 | 1928 | 1929 | 1930 | 1931 | |
| 1932 | 1933 | 1934 | 1935 | 1936 | ||
| 1937 | 1938 | 1939 | 1940 | 1941 | 1942 | |
| 1943 | 1944 | 1945 | 1946 | 1947 | ||
| 1948 | 1949 | 1950 | 1951 | 1952 | 1953 | |
| 1954 | 1955 | 1956 | 1957 | 1958 | 1959 | |
| 1960 | 1961 | 1962 | 1963 | 1964 | ||
| 1965 | 1966 | 1967 | 1968 | 1969 | 1970 | |
| 1971 | 1972 | 1973 | 1974 | 1975 | ||
| 1976 | 1977 | 1978 | 1979 | 1980 | 1981 | |
| 1982 | 1983 | 1984 | 1985 | 1986 | 1987 | |
| 1988 | 1989 | 1990 | 1991 | 1992 | ||
| 1993 | 1994 | 1995 | 1996 | 1997 | 1998 | |
| 1999 | 2000 | 2001 | 2002 | 2003 | ||
| 2004 | 2005 | 2006 | 2007 | 2008 | 2009 | |
| 2010 | 2011 | 2012 | 2013 | 2014 | 2015 | |
| 2016 | 2017 | 2018 | 2019 | 2020 | ||
| 2021 | 2022 | 2023 | 2024 | 2025 | 2026 | |
| 2027 | 2028 | 2029 | 2030 | 2031 | ||
| 2032 | 2033 | 2034 | 2035 | 2036 | 2037 | |
| 2038 | 2039 | 2040 | 2041 | 2042 | 2043 | |
| 2044 | 2045 | 2046 | 2047 | 2048 | ||
| 2049 | 2050 | 2051 | 2052 | 2053 | 2054 | |
| 2055 | 2056 | 2057 | 2058 | 2059 | ||
| 2060 | 2061 | 2062 | 2063 | 2064 | 2065 | |
| 2066 | 2067 | 2068 | 2069 | 2070 | 2071 | |
| 2072 | 2073 | 2074 | 2075 | 2076 | ||
| 2077 | 2078 | 2079 | 2080 | 2081 | 2082 | |
| 2083 | 2084 | 2085 | 2086 | 2087 | ||
| 2088 | 2089 | 2090 | 2091 | 2092 | 2093 | |
| 2094 | 2095 | 2096 | 2097 | 2098 | 2099 | |
| 2100 | 2101 | 2102 | 2103 | 2104 | 2105 |
이 표는 가로 방향으로 채워지며, 윤년마다 한 열을 건너뛴다. 이 표는 율리우스력에서는 28년마다, 그레고리력에서는 400년마다 순환한다.
먼저 세기의 기준일을 구한다. 둠스데이 규칙을 위해 세기는 '00으로 시작하여 '99로 끝난다. 다음 표는 1600–1699, 1700–1799, 1800–1899, 1900–1999, 2000–2099, 2100–2199, 2200–2299 세기의 기준일을 보여준다.
| | 기준일 | |
|---|---|
| 1600–1699 | 화요일 |
| 1700–1799 | 일요일 |
| 1800–1899 | 금요일 |
| 1900–1999 | 수요일 |
| 2000–2099 | 화요일 |
| 2100–2199 | 일요일 |
| 2200–2299 | 금요일 |
그레고리력의 경우, 기준일은 다음과 같이 계산한다.
* 수학 공식
화요일 = 기준일
* 알고리즘
만약 이면 기준일 = 화요일
만약 이면 기준일 = 일요일
만약 이면 기준일 = 금요일
만약 이면 기준일 = 수요일
* 율리우스력의 경우:
일요일 = 기준일
참고: .
다음으로, 연도의 기준일을 찾는다. 컨웨이에 따르면 이를 수행하려면 다음과 같이 한다.
# 연도의 마지막 두 자릿수(이것을 라고 부른다)를 12로 나누고, 를 바닥 몫으로 한다.
# 를 동일한 몫의 나머지로 한다.
# 그 나머지를 4로 나누고, 를 몫의 바닥으로 한다.
# 를 세 숫자()의 합으로 한다. (여기서 다시 7로 나누고 나머지를 구할 수 있다. 이 숫자는 에 를 4로 나눈 몫을 더한 것과 동일하다.)
# 기준일로부터 지정된 일수( 또는 의 나머지)만큼 앞으로 세어 연도의 둠스데이를 구한다.
:
예를 들어, 20세기 1966년의 경우:
:
따라서 1966년의 둠스데이는 월요일이었다.
마찬가지로, 2005년의 둠스데이는 월요일이다.
:
컴퓨터 사용을 위해, 해당 연도의 앵커 날짜를 계산하는 데 편리한 다음 공식들이 있다.
그레고리력의 경우:
:
예를 들어, 2009년의 둠스데이는 그레고리력(현재 사용되는 달력)에 따르면 토요일인데, 그 이유는 다음과 같다.
:
또 다른 예로, 1946년의 둠스데이는 목요일인데, 그 이유는 다음과 같다.
:
율리우스력의 경우:
: