Excel - VBA

양력을 음력으로 변환하기

EGTools 2023. 8. 23. 23:46
728x90

EGTools 추가기능에서 지원하는 음력 변환 함수인 ToLunar() 함수에 대한 소스코드 설명입니다.

 

천문연구원의 API를 이용하여 음력으로 전환할 수도 있지만,

Excel은 인터넷이 없는 환경에서도 양력을 음력으로 변환할 수 있도록 만들었습니다.

지원되는 양력 구간은 1900-01-01부터 2100-12-31까지입니다. (2023.08-23일 확장)

 

10여년도 훨씬 전에 SQL Table로 만들어서 변환하던 것에서 착안하여 VBA에서 Table보다는 

Array를 이용하는 것이 훨씬 유리하기 때문에 Array를 이용한 날짜 세기 방식으로 만든 것입니다.

 

배열은 3개를 사용합니다.

Dim LY As Variant, LM As Variant, LType As Variant

Ltype()에는 각 월의 날수를 저장하는데, 평달+윤달로 넣습니다.

LY()에는 1899년부터 2101년까지의 연도별 음력의 날수를 저장합니다.

LM()에 행번호로 1899년부터 2101년까지를 열번호로 1월~12월까지의 날수를 나타내는 Ltype의 index를 저장합니다.

LM()에 날수를 넣지 않고 Ltype의 index를 넣은 이유는 평달과 윤달을 명확히 구분하기 위해서입니다.

 

아래 각 월의 날짜수는 천문연구원 API와 매월 1일을 대조하여 차이가 없는지 확인을 완료하였습니다.

(2023-08-23, 천문연구원에 없는 2051~2100년까지 DB 자료를 추가함)

Private Sub makeDateArrays()
        
    If IsEmpty(LType) Then ReDim LType(1 To 6)
    If IsEmpty(LY) Then ReDim LY(1899 To 2101)
    If IsEmpty(LM) Then ReDim LM(1899 To 2101, 1 To 12) Else Exit Sub
    
    'LType 배열은 평달과 윤달의 날짜수에 대한 구분임 (+0는 윤달 없음)
    LType(1) = 29 + 0: LType(2) = 30 + 0: LType(3) = 29 + 29: LType(4) = 29 + 30: LType(5) = 30 + 29: LType(6) = 30 + 30
    
    '// LY(YYYY)음력일수,  LM(YEAM,MONTH) LType을 기재 1=작은달29일, 2=큰달30일, 3=평29+윤29, 4=평29+윤30, 5=평30+윤29, 6=평30+윤30
    LY(1899) = 355: LM(1899, 1) = 2: LM(1899, 2) = 1: LM(1899, 3) = 2: LM(1899, 4) = 1: LM(1899, 5) = 2: LM(1899, 6) = 1: LM(1899, 7) = 2: LM(1899, 8) = 2: LM(1899, 9) = 1: LM(1899, 10) = 2: LM(1899, 11) = 1: LM(1899, 12) = 2
    LY(1900) = 384: LM(1900, 1) = 1: LM(1900, 2) = 2: LM(1900, 3) = 1: LM(1900, 4) = 1: LM(1900, 5) = 2: LM(1900, 6) = 1: LM(1900, 7) = 2: LM(1900, 8) = 5: LM(1900, 9) = 2: LM(1900, 10) = 2: LM(1900, 11) = 1: LM(1900, 12) = 2
    LY(1901) = 354: LM(1901, 1) = 1: LM(1901, 2) = 2: LM(1901, 3) = 1: LM(1901, 4) = 1: LM(1901, 5) = 2: LM(1901, 6) = 1: LM(1901, 7) = 2: LM(1901, 8) = 1: LM(1901, 9) = 2: LM(1901, 10) = 2: LM(1901, 11) = 2: LM(1901, 12) = 1
    LY(1902) = 355: LM(1902, 1) = 2: LM(1902, 2) = 1: LM(1902, 3) = 2: LM(1902, 4) = 1: LM(1902, 5) = 1: LM(1902, 6) = 2: LM(1902, 7) = 1: LM(1902, 8) = 2: LM(1902, 9) = 1: LM(1902, 10) = 2: LM(1902, 11) = 2: LM(1902, 12) = 2
    LY(1903) = 383: LM(1903, 1) = 1: LM(1903, 2) = 2: LM(1903, 3) = 1: LM(1903, 4) = 2: LM(1903, 5) = 3: LM(1903, 6) = 2: LM(1903, 7) = 1: LM(1903, 8) = 1: LM(1903, 9) = 2: LM(1903, 10) = 2: LM(1903, 11) = 1: LM(1903, 12) = 2
    LY(1904) = 354: LM(1904, 1) = 2: LM(1904, 2) = 2: LM(1904, 3) = 1: LM(1904, 4) = 2: LM(1904, 5) = 1: LM(1904, 6) = 1: LM(1904, 7) = 2: LM(1904, 8) = 1: LM(1904, 9) = 1: LM(1904, 10) = 2: LM(1904, 11) = 2: LM(1904, 12) = 1
    LY(1905) = 355: LM(1905, 1) = 2: LM(1905, 2) = 2: LM(1905, 3) = 1: LM(1905, 4) = 2: LM(1905, 5) = 2: LM(1905, 6) = 1: LM(1905, 7) = 1: LM(1905, 8) = 2: LM(1905, 9) = 1: LM(1905, 10) = 2: LM(1905, 11) = 1: LM(1905, 12) = 2
    LY(1906) = 384: LM(1906, 1) = 1: LM(1906, 2) = 2: LM(1906, 3) = 2: LM(1906, 4) = 4: LM(1906, 5) = 1: LM(1906, 6) = 2: LM(1906, 7) = 1: LM(1906, 8) = 2: LM(1906, 9) = 1: LM(1906, 10) = 2: LM(1906, 11) = 1: LM(1906, 12) = 2
    LY(1907) = 354: LM(1907, 1) = 1: LM(1907, 2) = 2: LM(1907, 3) = 1: LM(1907, 4) = 2: LM(1907, 5) = 1: LM(1907, 6) = 2: LM(1907, 7) = 2: LM(1907, 8) = 1: LM(1907, 9) = 2: LM(1907, 10) = 1: LM(1907, 11) = 2: LM(1907, 12) = 1
    LY(1908) = 355: LM(1908, 1) = 2: LM(1908, 2) = 1: LM(1908, 3) = 1: LM(1908, 4) = 2: LM(1908, 5) = 2: LM(1908, 6) = 1: LM(1908, 7) = 2: LM(1908, 8) = 1: LM(1908, 9) = 2: LM(1908, 10) = 2: LM(1908, 11) = 1: LM(1908, 12) = 2
    LY(1909) = 384: LM(1909, 1) = 1: LM(1909, 2) = 5: LM(1909, 3) = 1: LM(1909, 4) = 2: LM(1909, 5) = 1: LM(1909, 6) = 2: LM(1909, 7) = 1: LM(1909, 8) = 2: LM(1909, 9) = 2: LM(1909, 10) = 2: LM(1909, 11) = 1: LM(1909, 12) = 2
    LY(1910) = 354: LM(1910, 1) = 1: LM(1910, 2) = 2: LM(1910, 3) = 1: LM(1910, 4) = 1: LM(1910, 5) = 2: LM(1910, 6) = 1: LM(1910, 7) = 2: LM(1910, 8) = 1: LM(1910, 9) = 2: LM(1910, 10) = 2: LM(1910, 11) = 2: LM(1910, 12) = 1
    LY(1911) = 384: LM(1911, 1) = 2: LM(1911, 2) = 1: LM(1911, 3) = 2: LM(1911, 4) = 1: LM(1911, 5) = 1: LM(1911, 6) = 5: LM(1911, 7) = 1: LM(1911, 8) = 2: LM(1911, 9) = 2: LM(1911, 10) = 1: LM(1911, 11) = 2: LM(1911, 12) = 2
    LY(1912) = 354: LM(1912, 1) = 2: LM(1912, 2) = 1: LM(1912, 3) = 2: LM(1912, 4) = 1: LM(1912, 5) = 1: LM(1912, 6) = 2: LM(1912, 7) = 1: LM(1912, 8) = 1: LM(1912, 9) = 2: LM(1912, 10) = 2: LM(1912, 11) = 1: LM(1912, 12) = 2
    LY(1913) = 354: LM(1913, 1) = 2: LM(1913, 2) = 2: LM(1913, 3) = 1: LM(1913, 4) = 2: LM(1913, 5) = 1: LM(1913, 6) = 1: LM(1913, 7) = 2: LM(1913, 8) = 1: LM(1913, 9) = 1: LM(1913, 10) = 2: LM(1913, 11) = 1: LM(1913, 12) = 2
    LY(1914) = 384: LM(1914, 1) = 2: LM(1914, 2) = 2: LM(1914, 3) = 1: LM(1914, 4) = 2: LM(1914, 5) = 5: LM(1914, 6) = 1: LM(1914, 7) = 2: LM(1914, 8) = 1: LM(1914, 9) = 2: LM(1914, 10) = 1: LM(1914, 11) = 1: LM(1914, 12) = 2
    LY(1915) = 355: LM(1915, 1) = 2: LM(1915, 2) = 1: LM(1915, 3) = 2: LM(1915, 4) = 2: LM(1915, 5) = 1: LM(1915, 6) = 2: LM(1915, 7) = 1: LM(1915, 8) = 2: LM(1915, 9) = 1: LM(1915, 10) = 2: LM(1915, 11) = 1: LM(1915, 12) = 2
    LY(1916) = 354: LM(1916, 1) = 1: LM(1916, 2) = 2: LM(1916, 3) = 1: LM(1916, 4) = 2: LM(1916, 5) = 1: LM(1916, 6) = 2: LM(1916, 7) = 2: LM(1916, 8) = 1: LM(1916, 9) = 2: LM(1916, 10) = 1: LM(1916, 11) = 2: LM(1916, 12) = 1
    LY(1917) = 384: LM(1917, 1) = 2: LM(1917, 2) = 3: LM(1917, 3) = 2: LM(1917, 4) = 1: LM(1917, 5) = 2: LM(1917, 6) = 2: LM(1917, 7) = 1: LM(1917, 8) = 2: LM(1917, 9) = 2: LM(1917, 10) = 1: LM(1917, 11) = 2: LM(1917, 12) = 1
    LY(1918) = 355: LM(1918, 1) = 2: LM(1918, 2) = 1: LM(1918, 3) = 1: LM(1918, 4) = 2: LM(1918, 5) = 1: LM(1918, 6) = 2: LM(1918, 7) = 1: LM(1918, 8) = 2: LM(1918, 9) = 2: LM(1918, 10) = 2: LM(1918, 11) = 1: LM(1918, 12) = 2
    LY(1919) = 384: LM(1919, 1) = 1: LM(1919, 2) = 2: LM(1919, 3) = 1: LM(1919, 4) = 1: LM(1919, 5) = 2: LM(1919, 6) = 1: LM(1919, 7) = 5: LM(1919, 8) = 2: LM(1919, 9) = 2: LM(1919, 10) = 1: LM(1919, 11) = 2: LM(1919, 12) = 2
    LY(1920) = 354: LM(1920, 1) = 1: LM(1920, 2) = 2: LM(1920, 3) = 1: LM(1920, 4) = 1: LM(1920, 5) = 2: LM(1920, 6) = 1: LM(1920, 7) = 1: LM(1920, 8) = 2: LM(1920, 9) = 2: LM(1920, 10) = 1: LM(1920, 11) = 2: LM(1920, 12) = 2
    LY(1921) = 354: LM(1921, 1) = 2: LM(1921, 2) = 1: LM(1921, 3) = 2: LM(1921, 4) = 1: LM(1921, 5) = 1: LM(1921, 6) = 2: LM(1921, 7) = 1: LM(1921, 8) = 1: LM(1921, 9) = 2: LM(1921, 10) = 1: LM(1921, 11) = 2: LM(1921, 12) = 2
    LY(1922) = 384: LM(1922, 1) = 2: LM(1922, 2) = 1: LM(1922, 3) = 2: LM(1922, 4) = 2: LM(1922, 5) = 3: LM(1922, 6) = 2: LM(1922, 7) = 1: LM(1922, 8) = 1: LM(1922, 9) = 2: LM(1922, 10) = 1: LM(1922, 11) = 2: LM(1922, 12) = 2
    LY(1923) = 354: LM(1923, 1) = 1: LM(1923, 2) = 2: LM(1923, 3) = 2: LM(1923, 4) = 1: LM(1923, 5) = 2: LM(1923, 6) = 1: LM(1923, 7) = 2: LM(1923, 8) = 1: LM(1923, 9) = 2: LM(1923, 10) = 1: LM(1923, 11) = 1: LM(1923, 12) = 2
    LY(1924) = 354: LM(1924, 1) = 2: LM(1924, 2) = 1: LM(1924, 3) = 2: LM(1924, 4) = 1: LM(1924, 5) = 2: LM(1924, 6) = 2: LM(1924, 7) = 1: LM(1924, 8) = 2: LM(1924, 9) = 1: LM(1924, 10) = 2: LM(1924, 11) = 1: LM(1924, 12) = 1
    LY(1925) = 385: LM(1925, 1) = 2: LM(1925, 2) = 1: LM(1925, 3) = 2: LM(1925, 4) = 5: LM(1925, 5) = 2: LM(1925, 6) = 1: LM(1925, 7) = 2: LM(1925, 8) = 2: LM(1925, 9) = 1: LM(1925, 10) = 2: LM(1925, 11) = 1: LM(1925, 12) = 2
    LY(1926) = 354: LM(1926, 1) = 1: LM(1926, 2) = 1: LM(1926, 3) = 2: LM(1926, 4) = 1: LM(1926, 5) = 2: LM(1926, 6) = 1: LM(1926, 7) = 2: LM(1926, 8) = 2: LM(1926, 9) = 1: LM(1926, 10) = 2: LM(1926, 11) = 2: LM(1926, 12) = 1
    LY(1927) = 355: LM(1927, 1) = 2: LM(1927, 2) = 1: LM(1927, 3) = 1: LM(1927, 4) = 2: LM(1927, 5) = 1: LM(1927, 6) = 2: LM(1927, 7) = 1: LM(1927, 8) = 2: LM(1927, 9) = 2: LM(1927, 10) = 1: LM(1927, 11) = 2: LM(1927, 12) = 2
    LY(1928) = 384: LM(1928, 1) = 1: LM(1928, 2) = 5: LM(1928, 3) = 1: LM(1928, 4) = 2: LM(1928, 5) = 1: LM(1928, 6) = 1: LM(1928, 7) = 2: LM(1928, 8) = 2: LM(1928, 9) = 1: LM(1928, 10) = 2: LM(1928, 11) = 2: LM(1928, 12) = 2
    LY(1929) = 354: LM(1929, 1) = 1: LM(1929, 2) = 2: LM(1929, 3) = 1: LM(1929, 4) = 1: LM(1929, 5) = 2: LM(1929, 6) = 1: LM(1929, 7) = 1: LM(1929, 8) = 2: LM(1929, 9) = 1: LM(1929, 10) = 2: LM(1929, 11) = 2: LM(1929, 12) = 2
    LY(1930) = 383: LM(1930, 1) = 1: LM(1930, 2) = 2: LM(1930, 3) = 2: LM(1930, 4) = 1: LM(1930, 5) = 1: LM(1930, 6) = 5: LM(1930, 7) = 1: LM(1930, 8) = 2: LM(1930, 9) = 1: LM(1930, 10) = 2: LM(1930, 11) = 2: LM(1930, 12) = 1
    LY(1931) = 354: LM(1931, 1) = 2: LM(1931, 2) = 2: LM(1931, 3) = 2: LM(1931, 4) = 1: LM(1931, 5) = 1: LM(1931, 6) = 2: LM(1931, 7) = 1: LM(1931, 8) = 1: LM(1931, 9) = 2: LM(1931, 10) = 1: LM(1931, 11) = 2: LM(1931, 12) = 1
    LY(1932) = 355: LM(1932, 1) = 2: LM(1932, 2) = 2: LM(1932, 3) = 2: LM(1932, 4) = 1: LM(1932, 5) = 2: LM(1932, 6) = 1: LM(1932, 7) = 2: LM(1932, 8) = 1: LM(1932, 9) = 1: LM(1932, 10) = 2: LM(1932, 11) = 1: LM(1932, 12) = 2
    LY(1933) = 384: LM(1933, 1) = 1: LM(1933, 2) = 2: LM(1933, 3) = 2: LM(1933, 4) = 1: LM(1933, 5) = 6: LM(1933, 6) = 1: LM(1933, 7) = 2: LM(1933, 8) = 1: LM(1933, 9) = 2: LM(1933, 10) = 1: LM(1933, 11) = 1: LM(1933, 12) = 2
    LY(1934) = 355: LM(1934, 1) = 1: LM(1934, 2) = 2: LM(1934, 3) = 1: LM(1934, 4) = 2: LM(1934, 5) = 2: LM(1934, 6) = 1: LM(1934, 7) = 2: LM(1934, 8) = 2: LM(1934, 9) = 1: LM(1934, 10) = 2: LM(1934, 11) = 1: LM(1934, 12) = 2
    LY(1935) = 354: LM(1935, 1) = 1: LM(1935, 2) = 1: LM(1935, 3) = 2: LM(1935, 4) = 1: LM(1935, 5) = 2: LM(1935, 6) = 1: LM(1935, 7) = 2: LM(1935, 8) = 2: LM(1935, 9) = 1: LM(1935, 10) = 2: LM(1935, 11) = 2: LM(1935, 12) = 1
    LY(1936) = 384: LM(1936, 1) = 2: LM(1936, 2) = 1: LM(1936, 3) = 4: LM(1936, 4) = 1: LM(1936, 5) = 2: LM(1936, 6) = 1: LM(1936, 7) = 2: LM(1936, 8) = 1: LM(1936, 9) = 2: LM(1936, 10) = 2: LM(1936, 11) = 2: LM(1936, 12) = 1
    LY(1937) = 354: LM(1937, 1) = 2: LM(1937, 2) = 1: LM(1937, 3) = 1: LM(1937, 4) = 2: LM(1937, 5) = 1: LM(1937, 6) = 1: LM(1937, 7) = 2: LM(1937, 8) = 1: LM(1937, 9) = 2: LM(1937, 10) = 2: LM(1937, 11) = 2: LM(1937, 12) = 1
    LY(1938) = 384: LM(1938, 1) = 2: LM(1938, 2) = 2: LM(1938, 3) = 1: LM(1938, 4) = 1: LM(1938, 5) = 2: LM(1938, 6) = 1: LM(1938, 7) = 4: LM(1938, 8) = 1: LM(1938, 9) = 2: LM(1938, 10) = 2: LM(1938, 11) = 1: LM(1938, 12) = 2
    LY(1939) = 354: LM(1939, 1) = 2: LM(1939, 2) = 2: LM(1939, 3) = 1: LM(1939, 4) = 1: LM(1939, 5) = 2: LM(1939, 6) = 1: LM(1939, 7) = 1: LM(1939, 8) = 2: LM(1939, 9) = 1: LM(1939, 10) = 2: LM(1939, 11) = 1: LM(1939, 12) = 2
    LY(1940) = 354: LM(1940, 1) = 2: LM(1940, 2) = 2: LM(1940, 3) = 1: LM(1940, 4) = 2: LM(1940, 5) = 1: LM(1940, 6) = 2: LM(1940, 7) = 1: LM(1940, 8) = 1: LM(1940, 9) = 2: LM(1940, 10) = 1: LM(1940, 11) = 2: LM(1940, 12) = 1
    LY(1941) = 384: LM(1941, 1) = 2: LM(1941, 2) = 2: LM(1941, 3) = 1: LM(1941, 4) = 2: LM(1941, 5) = 2: LM(1941, 6) = 4: LM(1941, 7) = 1: LM(1941, 8) = 1: LM(1941, 9) = 2: LM(1941, 10) = 1: LM(1941, 11) = 2: LM(1941, 12) = 1
    LY(1942) = 355: LM(1942, 1) = 2: LM(1942, 2) = 1: LM(1942, 3) = 2: LM(1942, 4) = 2: LM(1942, 5) = 1: LM(1942, 6) = 2: LM(1942, 7) = 2: LM(1942, 8) = 1: LM(1942, 9) = 2: LM(1942, 10) = 1: LM(1942, 11) = 1: LM(1942, 12) = 2
    LY(1943) = 355: LM(1943, 1) = 1: LM(1943, 2) = 2: LM(1943, 3) = 1: LM(1943, 4) = 2: LM(1943, 5) = 1: LM(1943, 6) = 2: LM(1943, 7) = 2: LM(1943, 8) = 1: LM(1943, 9) = 2: LM(1943, 10) = 2: LM(1943, 11) = 1: LM(1943, 12) = 2
    LY(1944) = 384: LM(1944, 1) = 1: LM(1944, 2) = 1: LM(1944, 3) = 2: LM(1944, 4) = 4: LM(1944, 5) = 1: LM(1944, 6) = 2: LM(1944, 7) = 1: LM(1944, 8) = 2: LM(1944, 9) = 2: LM(1944, 10) = 1: LM(1944, 11) = 2: LM(1944, 12) = 2
    LY(1945) = 354: LM(1945, 1) = 1: LM(1945, 2) = 1: LM(1945, 3) = 2: LM(1945, 4) = 1: LM(1945, 5) = 1: LM(1945, 6) = 2: LM(1945, 7) = 1: LM(1945, 8) = 2: LM(1945, 9) = 2: LM(1945, 10) = 2: LM(1945, 11) = 1: LM(1945, 12) = 2
    LY(1946) = 354: LM(1946, 1) = 2: LM(1946, 2) = 1: LM(1946, 3) = 1: LM(1946, 4) = 2: LM(1946, 5) = 1: LM(1946, 6) = 1: LM(1946, 7) = 2: LM(1946, 8) = 1: LM(1946, 9) = 2: LM(1946, 10) = 2: LM(1946, 11) = 1: LM(1946, 12) = 2
    LY(1947) = 384: LM(1947, 1) = 2: LM(1947, 2) = 5: LM(1947, 3) = 1: LM(1947, 4) = 2: LM(1947, 5) = 1: LM(1947, 6) = 1: LM(1947, 7) = 2: LM(1947, 8) = 1: LM(1947, 9) = 2: LM(1947, 10) = 1: LM(1947, 11) = 2: LM(1947, 12) = 2
    LY(1948) = 354: LM(1948, 1) = 2: LM(1948, 2) = 1: LM(1948, 3) = 2: LM(1948, 4) = 1: LM(1948, 5) = 2: LM(1948, 6) = 1: LM(1948, 7) = 1: LM(1948, 8) = 2: LM(1948, 9) = 1: LM(1948, 10) = 2: LM(1948, 11) = 1: LM(1948, 12) = 2
    LY(1949) = 384: LM(1949, 1) = 2: LM(1949, 2) = 2: LM(1949, 3) = 1: LM(1949, 4) = 2: LM(1949, 5) = 1: LM(1949, 6) = 2: LM(1949, 7) = 3: LM(1949, 8) = 2: LM(1949, 9) = 1: LM(1949, 10) = 2: LM(1949, 11) = 1: LM(1949, 12) = 2
    LY(1950) = 354: LM(1950, 1) = 2: LM(1950, 2) = 1: LM(1950, 3) = 2: LM(1950, 4) = 2: LM(1950, 5) = 1: LM(1950, 6) = 2: LM(1950, 7) = 1: LM(1950, 8) = 1: LM(1950, 9) = 2: LM(1950, 10) = 1: LM(1950, 11) = 2: LM(1950, 12) = 1
    LY(1951) = 355: LM(1951, 1) = 2: LM(1951, 2) = 1: LM(1951, 3) = 2: LM(1951, 4) = 2: LM(1951, 5) = 1: LM(1951, 6) = 2: LM(1951, 7) = 1: LM(1951, 8) = 2: LM(1951, 9) = 1: LM(1951, 10) = 2: LM(1951, 11) = 1: LM(1951, 12) = 2
    LY(1952) = 384: LM(1952, 1) = 1: LM(1952, 2) = 2: LM(1952, 3) = 1: LM(1952, 4) = 2: LM(1952, 5) = 4: LM(1952, 6) = 2: LM(1952, 7) = 1: LM(1952, 8) = 2: LM(1952, 9) = 1: LM(1952, 10) = 2: LM(1952, 11) = 1: LM(1952, 12) = 2
    LY(1953) = 355: LM(1953, 1) = 1: LM(1953, 2) = 2: LM(1953, 3) = 1: LM(1953, 4) = 1: LM(1953, 5) = 2: LM(1953, 6) = 2: LM(1953, 7) = 1: LM(1953, 8) = 2: LM(1953, 9) = 2: LM(1953, 10) = 1: LM(1953, 11) = 2: LM(1953, 12) = 2
    LY(1954) = 354: LM(1954, 1) = 1: LM(1954, 2) = 1: LM(1954, 3) = 2: LM(1954, 4) = 1: LM(1954, 5) = 1: LM(1954, 6) = 2: LM(1954, 7) = 1: LM(1954, 8) = 2: LM(1954, 9) = 2: LM(1954, 10) = 1: LM(1954, 11) = 2: LM(1954, 12) = 2
    LY(1955) = 384: LM(1955, 1) = 2: LM(1955, 2) = 1: LM(1955, 3) = 4: LM(1955, 4) = 1: LM(1955, 5) = 1: LM(1955, 6) = 2: LM(1955, 7) = 1: LM(1955, 8) = 2: LM(1955, 9) = 1: LM(1955, 10) = 2: LM(1955, 11) = 2: LM(1955, 12) = 2
    LY(1956) = 354: LM(1956, 1) = 1: LM(1956, 2) = 2: LM(1956, 3) = 1: LM(1956, 4) = 2: LM(1956, 5) = 1: LM(1956, 6) = 1: LM(1956, 7) = 2: LM(1956, 8) = 1: LM(1956, 9) = 2: LM(1956, 10) = 1: LM(1956, 11) = 2: LM(1956, 12) = 2
    LY(1957) = 384: LM(1957, 1) = 2: LM(1957, 2) = 1: LM(1957, 3) = 2: LM(1957, 4) = 1: LM(1957, 5) = 2: LM(1957, 6) = 1: LM(1957, 7) = 1: LM(1957, 8) = 5: LM(1957, 9) = 2: LM(1957, 10) = 1: LM(1957, 11) = 2: LM(1957, 12) = 2
    LY(1958) = 354: LM(1958, 1) = 1: LM(1958, 2) = 2: LM(1958, 3) = 2: LM(1958, 4) = 1: LM(1958, 5) = 2: LM(1958, 6) = 1: LM(1958, 7) = 1: LM(1958, 8) = 2: LM(1958, 9) = 1: LM(1958, 10) = 2: LM(1958, 11) = 1: LM(1958, 12) = 2
    LY(1959) = 354: LM(1959, 1) = 1: LM(1959, 2) = 2: LM(1959, 3) = 2: LM(1959, 4) = 1: LM(1959, 5) = 2: LM(1959, 6) = 1: LM(1959, 7) = 2: LM(1959, 8) = 1: LM(1959, 9) = 2: LM(1959, 10) = 1: LM(1959, 11) = 2: LM(1959, 12) = 1
    LY(1960) = 384: LM(1960, 1) = 2: LM(1960, 2) = 1: LM(1960, 3) = 2: LM(1960, 4) = 1: LM(1960, 5) = 2: LM(1960, 6) = 5: LM(1960, 7) = 2: LM(1960, 8) = 1: LM(1960, 9) = 2: LM(1960, 10) = 1: LM(1960, 11) = 2: LM(1960, 12) = 1
    LY(1961) = 355: LM(1961, 1) = 2: LM(1961, 2) = 1: LM(1961, 3) = 2: LM(1961, 4) = 1: LM(1961, 5) = 2: LM(1961, 6) = 1: LM(1961, 7) = 2: LM(1961, 8) = 2: LM(1961, 9) = 1: LM(1961, 10) = 2: LM(1961, 11) = 1: LM(1961, 12) = 2
    LY(1962) = 354: LM(1962, 1) = 1: LM(1962, 2) = 2: LM(1962, 3) = 1: LM(1962, 4) = 1: LM(1962, 5) = 2: LM(1962, 6) = 1: LM(1962, 7) = 2: LM(1962, 8) = 2: LM(1962, 9) = 1: LM(1962, 10) = 2: LM(1962, 11) = 2: LM(1962, 12) = 1
    LY(1963) = 384: LM(1963, 1) = 2: LM(1963, 2) = 1: LM(1963, 3) = 2: LM(1963, 4) = 3: LM(1963, 5) = 2: LM(1963, 6) = 1: LM(1963, 7) = 2: LM(1963, 8) = 1: LM(1963, 9) = 2: LM(1963, 10) = 2: LM(1963, 11) = 2: LM(1963, 12) = 1
    LY(1964) = 355: LM(1964, 1) = 2: LM(1964, 2) = 1: LM(1964, 3) = 2: LM(1964, 4) = 1: LM(1964, 5) = 1: LM(1964, 6) = 2: LM(1964, 7) = 1: LM(1964, 8) = 2: LM(1964, 9) = 1: LM(1964, 10) = 2: LM(1964, 11) = 2: LM(1964, 12) = 2
    LY(1965) = 354: LM(1965, 1) = 1: LM(1965, 2) = 2: LM(1965, 3) = 1: LM(1965, 4) = 2: LM(1965, 5) = 1: LM(1965, 6) = 1: LM(1965, 7) = 2: LM(1965, 8) = 1: LM(1965, 9) = 1: LM(1965, 10) = 2: LM(1965, 11) = 2: LM(1965, 12) = 2
    LY(1966) = 383: LM(1966, 1) = 1: LM(1966, 2) = 2: LM(1966, 3) = 5: LM(1966, 4) = 2: LM(1966, 5) = 1: LM(1966, 6) = 1: LM(1966, 7) = 2: LM(1966, 8) = 1: LM(1966, 9) = 1: LM(1966, 10) = 2: LM(1966, 11) = 2: LM(1966, 12) = 1
    LY(1967) = 355: LM(1967, 1) = 2: LM(1967, 2) = 2: LM(1967, 3) = 1: LM(1967, 4) = 2: LM(1967, 5) = 2: LM(1967, 6) = 1: LM(1967, 7) = 1: LM(1967, 8) = 2: LM(1967, 9) = 1: LM(1967, 10) = 2: LM(1967, 11) = 1: LM(1967, 12) = 2
    LY(1968) = 384: LM(1968, 1) = 1: LM(1968, 2) = 2: LM(1968, 3) = 2: LM(1968, 4) = 1: LM(1968, 5) = 2: LM(1968, 6) = 1: LM(1968, 7) = 5: LM(1968, 8) = 2: LM(1968, 9) = 1: LM(1968, 10) = 2: LM(1968, 11) = 1: LM(1968, 12) = 2
    LY(1969) = 354: LM(1969, 1) = 1: LM(1969, 2) = 2: LM(1969, 3) = 1: LM(1969, 4) = 2: LM(1969, 5) = 1: LM(1969, 6) = 2: LM(1969, 7) = 2: LM(1969, 8) = 1: LM(1969, 9) = 2: LM(1969, 10) = 1: LM(1969, 11) = 2: LM(1969, 12) = 1
    LY(1970) = 355: LM(1970, 1) = 2: LM(1970, 2) = 1: LM(1970, 3) = 1: LM(1970, 4) = 2: LM(1970, 5) = 2: LM(1970, 6) = 1: LM(1970, 7) = 2: LM(1970, 8) = 1: LM(1970, 9) = 2: LM(1970, 10) = 2: LM(1970, 11) = 1: LM(1970, 12) = 2
    LY(1971) = 384: LM(1971, 1) = 1: LM(1971, 2) = 2: LM(1971, 3) = 1: LM(1971, 4) = 1: LM(1971, 5) = 5: LM(1971, 6) = 2: LM(1971, 7) = 1: LM(1971, 8) = 2: LM(1971, 9) = 2: LM(1971, 10) = 2: LM(1971, 11) = 1: LM(1971, 12) = 2
    LY(1972) = 354: LM(1972, 1) = 1: LM(1972, 2) = 2: LM(1972, 3) = 1: LM(1972, 4) = 1: LM(1972, 5) = 2: LM(1972, 6) = 1: LM(1972, 7) = 2: LM(1972, 8) = 1: LM(1972, 9) = 2: LM(1972, 10) = 2: LM(1972, 11) = 2: LM(1972, 12) = 1
    LY(1973) = 354: LM(1973, 1) = 2: LM(1973, 2) = 1: LM(1973, 3) = 2: LM(1973, 4) = 1: LM(1973, 5) = 1: LM(1973, 6) = 2: LM(1973, 7) = 1: LM(1973, 8) = 1: LM(1973, 9) = 2: LM(1973, 10) = 2: LM(1973, 11) = 2: LM(1973, 12) = 1
    LY(1974) = 384: LM(1974, 1) = 2: LM(1974, 2) = 2: LM(1974, 3) = 1: LM(1974, 4) = 5: LM(1974, 5) = 1: LM(1974, 6) = 2: LM(1974, 7) = 1: LM(1974, 8) = 1: LM(1974, 9) = 2: LM(1974, 10) = 2: LM(1974, 11) = 1: LM(1974, 12) = 2
    LY(1975) = 354: LM(1975, 1) = 2: LM(1975, 2) = 2: LM(1975, 3) = 1: LM(1975, 4) = 2: LM(1975, 5) = 1: LM(1975, 6) = 1: LM(1975, 7) = 2: LM(1975, 8) = 1: LM(1975, 9) = 1: LM(1975, 10) = 2: LM(1975, 11) = 1: LM(1975, 12) = 2
    LY(1976) = 384: LM(1976, 1) = 2: LM(1976, 2) = 2: LM(1976, 3) = 1: LM(1976, 4) = 2: LM(1976, 5) = 1: LM(1976, 6) = 2: LM(1976, 7) = 1: LM(1976, 8) = 5: LM(1976, 9) = 2: LM(1976, 10) = 1: LM(1976, 11) = 1: LM(1976, 12) = 2
    LY(1977) = 354: LM(1977, 1) = 2: LM(1977, 2) = 1: LM(1977, 3) = 2: LM(1977, 4) = 2: LM(1977, 5) = 1: LM(1977, 6) = 2: LM(1977, 7) = 1: LM(1977, 8) = 2: LM(1977, 9) = 1: LM(1977, 10) = 2: LM(1977, 11) = 1: LM(1977, 12) = 1
    LY(1978) = 355: LM(1978, 1) = 2: LM(1978, 2) = 2: LM(1978, 3) = 1: LM(1978, 4) = 2: LM(1978, 5) = 1: LM(1978, 6) = 2: LM(1978, 7) = 2: LM(1978, 8) = 1: LM(1978, 9) = 2: LM(1978, 10) = 1: LM(1978, 11) = 2: LM(1978, 12) = 1
    LY(1979) = 384: LM(1979, 1) = 2: LM(1979, 2) = 1: LM(1979, 3) = 1: LM(1979, 4) = 2: LM(1979, 5) = 1: LM(1979, 6) = 6: LM(1979, 7) = 1: LM(1979, 8) = 2: LM(1979, 9) = 2: LM(1979, 10) = 1: LM(1979, 11) = 2: LM(1979, 12) = 1
    LY(1980) = 355: LM(1980, 1) = 2: LM(1980, 2) = 1: LM(1980, 3) = 1: LM(1980, 4) = 2: LM(1980, 5) = 1: LM(1980, 6) = 2: LM(1980, 7) = 1: LM(1980, 8) = 2: LM(1980, 9) = 2: LM(1980, 10) = 1: LM(1980, 11) = 2: LM(1980, 12) = 2
    LY(1981) = 354: LM(1981, 1) = 1: LM(1981, 2) = 2: LM(1981, 3) = 1: LM(1981, 4) = 1: LM(1981, 5) = 2: LM(1981, 6) = 1: LM(1981, 7) = 1: LM(1981, 8) = 2: LM(1981, 9) = 2: LM(1981, 10) = 1: LM(1981, 11) = 2: LM(1981, 12) = 2
    LY(1982) = 384: LM(1982, 1) = 2: LM(1982, 2) = 1: LM(1982, 3) = 2: LM(1982, 4) = 3: LM(1982, 5) = 2: LM(1982, 6) = 1: LM(1982, 7) = 1: LM(1982, 8) = 2: LM(1982, 9) = 2: LM(1982, 10) = 1: LM(1982, 11) = 2: LM(1982, 12) = 2
    LY(1983) = 354: LM(1983, 1) = 2: LM(1983, 2) = 1: LM(1983, 3) = 2: LM(1983, 4) = 1: LM(1983, 5) = 1: LM(1983, 6) = 2: LM(1983, 7) = 1: LM(1983, 8) = 1: LM(1983, 9) = 2: LM(1983, 10) = 1: LM(1983, 11) = 2: LM(1983, 12) = 2
    LY(1984) = 384: LM(1984, 1) = 2: LM(1984, 2) = 1: LM(1984, 3) = 2: LM(1984, 4) = 2: LM(1984, 5) = 1: LM(1984, 6) = 1: LM(1984, 7) = 2: LM(1984, 8) = 1: LM(1984, 9) = 1: LM(1984, 10) = 5: LM(1984, 11) = 2: LM(1984, 12) = 2
    LY(1985) = 354: LM(1985, 1) = 1: LM(1985, 2) = 2: LM(1985, 3) = 2: LM(1985, 4) = 1: LM(1985, 5) = 2: LM(1985, 6) = 1: LM(1985, 7) = 2: LM(1985, 8) = 1: LM(1985, 9) = 1: LM(1985, 10) = 2: LM(1985, 11) = 1: LM(1985, 12) = 2
    LY(1986) = 354: LM(1986, 1) = 1: LM(1986, 2) = 2: LM(1986, 3) = 2: LM(1986, 4) = 1: LM(1986, 5) = 2: LM(1986, 6) = 2: LM(1986, 7) = 1: LM(1986, 8) = 2: LM(1986, 9) = 1: LM(1986, 10) = 2: LM(1986, 11) = 1: LM(1986, 12) = 1
    LY(1987) = 385: LM(1987, 1) = 2: LM(1987, 2) = 1: LM(1987, 3) = 2: LM(1987, 4) = 2: LM(1987, 5) = 1: LM(1987, 6) = 5: LM(1987, 7) = 2: LM(1987, 8) = 2: LM(1987, 9) = 1: LM(1987, 10) = 2: LM(1987, 11) = 1: LM(1987, 12) = 2
    LY(1988) = 354: LM(1988, 1) = 1: LM(1988, 2) = 1: LM(1988, 3) = 2: LM(1988, 4) = 1: LM(1988, 5) = 2: LM(1988, 6) = 1: LM(1988, 7) = 2: LM(1988, 8) = 2: LM(1988, 9) = 1: LM(1988, 10) = 2: LM(1988, 11) = 2: LM(1988, 12) = 1
    LY(1989) = 355: LM(1989, 1) = 2: LM(1989, 2) = 1: LM(1989, 3) = 1: LM(1989, 4) = 2: LM(1989, 5) = 1: LM(1989, 6) = 2: LM(1989, 7) = 1: LM(1989, 8) = 2: LM(1989, 9) = 2: LM(1989, 10) = 1: LM(1989, 11) = 2: LM(1989, 12) = 2
    LY(1990) = 384: LM(1990, 1) = 1: LM(1990, 2) = 2: LM(1990, 3) = 1: LM(1990, 4) = 1: LM(1990, 5) = 5: LM(1990, 6) = 1: LM(1990, 7) = 2: LM(1990, 8) = 2: LM(1990, 9) = 1: LM(1990, 10) = 2: LM(1990, 11) = 2: LM(1990, 12) = 2
    LY(1991) = 354: LM(1991, 1) = 1: LM(1991, 2) = 2: LM(1991, 3) = 1: LM(1991, 4) = 1: LM(1991, 5) = 2: LM(1991, 6) = 1: LM(1991, 7) = 1: LM(1991, 8) = 2: LM(1991, 9) = 1: LM(1991, 10) = 2: LM(1991, 11) = 2: LM(1991, 12) = 2
    LY(1992) = 354: LM(1992, 1) = 1: LM(1992, 2) = 2: LM(1992, 3) = 2: LM(1992, 4) = 1: LM(1992, 5) = 1: LM(1992, 6) = 2: LM(1992, 7) = 1: LM(1992, 8) = 1: LM(1992, 9) = 2: LM(1992, 10) = 1: LM(1992, 11) = 2: LM(1992, 12) = 2
    LY(1993) = 383: LM(1993, 1) = 1: LM(1993, 2) = 2: LM(1993, 3) = 5: LM(1993, 4) = 2: LM(1993, 5) = 1: LM(1993, 6) = 2: LM(1993, 7) = 1: LM(1993, 8) = 1: LM(1993, 9) = 2: LM(1993, 10) = 1: LM(1993, 11) = 2: LM(1993, 12) = 1
    LY(1994) = 355: LM(1994, 1) = 2: LM(1994, 2) = 2: LM(1994, 3) = 2: LM(1994, 4) = 1: LM(1994, 5) = 2: LM(1994, 6) = 1: LM(1994, 7) = 2: LM(1994, 8) = 1: LM(1994, 9) = 1: LM(1994, 10) = 2: LM(1994, 11) = 1: LM(1994, 12) = 2
    LY(1995) = 384: LM(1995, 1) = 1: LM(1995, 2) = 2: LM(1995, 3) = 2: LM(1995, 4) = 1: LM(1995, 5) = 2: LM(1995, 6) = 2: LM(1995, 7) = 1: LM(1995, 8) = 5: LM(1995, 9) = 2: LM(1995, 10) = 1: LM(1995, 11) = 1: LM(1995, 12) = 2
    LY(1996) = 355: LM(1996, 1) = 1: LM(1996, 2) = 2: LM(1996, 3) = 1: LM(1996, 4) = 2: LM(1996, 5) = 2: LM(1996, 6) = 1: LM(1996, 7) = 2: LM(1996, 8) = 1: LM(1996, 9) = 2: LM(1996, 10) = 2: LM(1996, 11) = 1: LM(1996, 12) = 2
    LY(1997) = 354: LM(1997, 1) = 1: LM(1997, 2) = 1: LM(1997, 3) = 2: LM(1997, 4) = 1: LM(1997, 5) = 2: LM(1997, 6) = 1: LM(1997, 7) = 2: LM(1997, 8) = 2: LM(1997, 9) = 1: LM(1997, 10) = 2: LM(1997, 11) = 2: LM(1997, 12) = 1
    LY(1998) = 384: LM(1998, 1) = 2: LM(1998, 2) = 1: LM(1998, 3) = 1: LM(1998, 4) = 2: LM(1998, 5) = 3: LM(1998, 6) = 2: LM(1998, 7) = 2: LM(1998, 8) = 1: LM(1998, 9) = 2: LM(1998, 10) = 2: LM(1998, 11) = 2: LM(1998, 12) = 1
    LY(1999) = 354: LM(1999, 1) = 2: LM(1999, 2) = 1: LM(1999, 3) = 1: LM(1999, 4) = 2: LM(1999, 5) = 1: LM(1999, 6) = 1: LM(1999, 7) = 2: LM(1999, 8) = 1: LM(1999, 9) = 2: LM(1999, 10) = 2: LM(1999, 11) = 2: LM(1999, 12) = 1
    LY(2000) = 354: LM(2000, 1) = 2: LM(2000, 2) = 2: LM(2000, 3) = 1: LM(2000, 4) = 1: LM(2000, 5) = 2: LM(2000, 6) = 1: LM(2000, 7) = 1: LM(2000, 8) = 2: LM(2000, 9) = 1: LM(2000, 10) = 2: LM(2000, 11) = 2: LM(2000, 12) = 1
    LY(2001) = 384: LM(2001, 1) = 2: LM(2001, 2) = 2: LM(2001, 3) = 2: LM(2001, 4) = 3: LM(2001, 5) = 2: LM(2001, 6) = 1: LM(2001, 7) = 1: LM(2001, 8) = 2: LM(2001, 9) = 1: LM(2001, 10) = 2: LM(2001, 11) = 1: LM(2001, 12) = 2
    LY(2002) = 354: LM(2002, 1) = 2: LM(2002, 2) = 2: LM(2002, 3) = 1: LM(2002, 4) = 2: LM(2002, 5) = 1: LM(2002, 6) = 2: LM(2002, 7) = 1: LM(2002, 8) = 1: LM(2002, 9) = 2: LM(2002, 10) = 1: LM(2002, 11) = 2: LM(2002, 12) = 1
    LY(2003) = 355: LM(2003, 1) = 2: LM(2003, 2) = 2: LM(2003, 3) = 1: LM(2003, 4) = 2: LM(2003, 5) = 2: LM(2003, 6) = 1: LM(2003, 7) = 2: LM(2003, 8) = 1: LM(2003, 9) = 1: LM(2003, 10) = 2: LM(2003, 11) = 1: LM(2003, 12) = 2
    LY(2004) = 384: LM(2004, 1) = 1: LM(2004, 2) = 5: LM(2004, 3) = 2: LM(2004, 4) = 2: LM(2004, 5) = 1: LM(2004, 6) = 2: LM(2004, 7) = 1: LM(2004, 8) = 2: LM(2004, 9) = 1: LM(2004, 10) = 2: LM(2004, 11) = 1: LM(2004, 12) = 2
    LY(2005) = 354: LM(2005, 1) = 1: LM(2005, 2) = 2: LM(2005, 3) = 1: LM(2005, 4) = 2: LM(2005, 5) = 1: LM(2005, 6) = 2: LM(2005, 7) = 2: LM(2005, 8) = 1: LM(2005, 9) = 2: LM(2005, 10) = 2: LM(2005, 11) = 1: LM(2005, 12) = 1
    LY(2006) = 385: LM(2006, 1) = 2: LM(2006, 2) = 1: LM(2006, 3) = 2: LM(2006, 4) = 1: LM(2006, 5) = 2: LM(2006, 6) = 1: LM(2006, 7) = 5: LM(2006, 8) = 2: LM(2006, 9) = 2: LM(2006, 10) = 1: LM(2006, 11) = 2: LM(2006, 12) = 2
    LY(2007) = 354: LM(2007, 1) = 1: LM(2007, 2) = 1: LM(2007, 3) = 2: LM(2007, 4) = 1: LM(2007, 5) = 1: LM(2007, 6) = 2: LM(2007, 7) = 1: LM(2007, 8) = 2: LM(2007, 9) = 2: LM(2007, 10) = 2: LM(2007, 11) = 1: LM(2007, 12) = 2
    LY(2008) = 354: LM(2008, 1) = 2: LM(2008, 2) = 1: LM(2008, 3) = 1: LM(2008, 4) = 2: LM(2008, 5) = 1: LM(2008, 6) = 1: LM(2008, 7) = 2: LM(2008, 8) = 1: LM(2008, 9) = 2: LM(2008, 10) = 2: LM(2008, 11) = 1: LM(2008, 12) = 2
    LY(2009) = 384: LM(2009, 1) = 2: LM(2009, 2) = 2: LM(2009, 3) = 1: LM(2009, 4) = 1: LM(2009, 5) = 5: LM(2009, 6) = 1: LM(2009, 7) = 2: LM(2009, 8) = 1: LM(2009, 9) = 2: LM(2009, 10) = 1: LM(2009, 11) = 2: LM(2009, 12) = 2
    LY(2010) = 354: LM(2010, 1) = 2: LM(2010, 2) = 1: LM(2010, 3) = 2: LM(2010, 4) = 1: LM(2010, 5) = 2: LM(2010, 6) = 1: LM(2010, 7) = 1: LM(2010, 8) = 2: LM(2010, 9) = 1: LM(2010, 10) = 2: LM(2010, 11) = 1: LM(2010, 12) = 2
    LY(2011) = 354: LM(2011, 1) = 2: LM(2011, 2) = 1: LM(2011, 3) = 2: LM(2011, 4) = 2: LM(2011, 5) = 1: LM(2011, 6) = 2: LM(2011, 7) = 1: LM(2011, 8) = 1: LM(2011, 9) = 2: LM(2011, 10) = 1: LM(2011, 11) = 2: LM(2011, 12) = 1
    LY(2012) = 384: LM(2012, 1) = 2: LM(2012, 2) = 1: LM(2012, 3) = 6: LM(2012, 4) = 2: LM(2012, 5) = 1: LM(2012, 6) = 2: LM(2012, 7) = 1: LM(2012, 8) = 1: LM(2012, 9) = 2: LM(2012, 10) = 1: LM(2012, 11) = 2: LM(2012, 12) = 1
    LY(2013) = 355: LM(2013, 1) = 2: LM(2013, 2) = 1: LM(2013, 3) = 2: LM(2013, 4) = 2: LM(2013, 5) = 1: LM(2013, 6) = 2: LM(2013, 7) = 1: LM(2013, 8) = 2: LM(2013, 9) = 1: LM(2013, 10) = 2: LM(2013, 11) = 1: LM(2013, 12) = 2
    LY(2014) = 384: LM(2014, 1) = 1: LM(2014, 2) = 2: LM(2014, 3) = 1: LM(2014, 4) = 2: LM(2014, 5) = 1: LM(2014, 6) = 2: LM(2014, 7) = 1: LM(2014, 8) = 2: LM(2014, 9) = 5: LM(2014, 10) = 2: LM(2014, 11) = 1: LM(2014, 12) = 2
    LY(2015) = 354: LM(2015, 1) = 1: LM(2015, 2) = 2: LM(2015, 3) = 1: LM(2015, 4) = 1: LM(2015, 5) = 2: LM(2015, 6) = 1: LM(2015, 7) = 2: LM(2015, 8) = 2: LM(2015, 9) = 2: LM(2015, 10) = 1: LM(2015, 11) = 2: LM(2015, 12) = 1
    LY(2016) = 355: LM(2016, 1) = 2: LM(2016, 2) = 1: LM(2016, 3) = 2: LM(2016, 4) = 1: LM(2016, 5) = 1: LM(2016, 6) = 2: LM(2016, 7) = 1: LM(2016, 8) = 2: LM(2016, 9) = 2: LM(2016, 10) = 1: LM(2016, 11) = 2: LM(2016, 12) = 2
    LY(2017) = 384: LM(2017, 1) = 1: LM(2017, 2) = 2: LM(2017, 3) = 1: LM(2017, 4) = 2: LM(2017, 5) = 3: LM(2017, 6) = 2: LM(2017, 7) = 1: LM(2017, 8) = 2: LM(2017, 9) = 1: LM(2017, 10) = 2: LM(2017, 11) = 2: LM(2017, 12) = 2
    LY(2018) = 354: LM(2018, 1) = 1: LM(2018, 2) = 2: LM(2018, 3) = 1: LM(2018, 4) = 2: LM(2018, 5) = 1: LM(2018, 6) = 1: LM(2018, 7) = 2: LM(2018, 8) = 1: LM(2018, 9) = 2: LM(2018, 10) = 1: LM(2018, 11) = 2: LM(2018, 12) = 2
    LY(2019) = 354: LM(2019, 1) = 2: LM(2019, 2) = 1: LM(2019, 3) = 2: LM(2019, 4) = 1: LM(2019, 5) = 2: LM(2019, 6) = 1: LM(2019, 7) = 1: LM(2019, 8) = 2: LM(2019, 9) = 1: LM(2019, 10) = 2: LM(2019, 11) = 1: LM(2019, 12) = 2
    LY(2020) = 384: LM(2020, 1) = 2: LM(2020, 2) = 1: LM(2020, 3) = 2: LM(2020, 4) = 5: LM(2020, 5) = 2: LM(2020, 6) = 1: LM(2020, 7) = 1: LM(2020, 8) = 2: LM(2020, 9) = 1: LM(2020, 10) = 2: LM(2020, 11) = 1: LM(2020, 12) = 2
    LY(2021) = 354: LM(2021, 1) = 1: LM(2021, 2) = 2: LM(2021, 3) = 2: LM(2021, 4) = 1: LM(2021, 5) = 2: LM(2021, 6) = 1: LM(2021, 7) = 2: LM(2021, 8) = 1: LM(2021, 9) = 2: LM(2021, 10) = 1: LM(2021, 11) = 2: LM(2021, 12) = 1
    LY(2022) = 355: LM(2022, 1) = 2: LM(2022, 2) = 1: LM(2022, 3) = 2: LM(2022, 4) = 1: LM(2022, 5) = 2: LM(2022, 6) = 2: LM(2022, 7) = 1: LM(2022, 8) = 2: LM(2022, 9) = 1: LM(2022, 10) = 2: LM(2022, 11) = 1: LM(2022, 12) = 2
    LY(2023) = 384: LM(2023, 1) = 1: LM(2023, 2) = 5: LM(2023, 3) = 2: LM(2023, 4) = 1: LM(2023, 5) = 2: LM(2023, 6) = 1: LM(2023, 7) = 2: LM(2023, 8) = 2: LM(2023, 9) = 1: LM(2023, 10) = 2: LM(2023, 11) = 1: LM(2023, 12) = 2
    LY(2024) = 354: LM(2024, 1) = 1: LM(2024, 2) = 2: LM(2024, 3) = 1: LM(2024, 4) = 1: LM(2024, 5) = 2: LM(2024, 6) = 1: LM(2024, 7) = 2: LM(2024, 8) = 2: LM(2024, 9) = 1: LM(2024, 10) = 2: LM(2024, 11) = 2: LM(2024, 12) = 1
    LY(2025) = 384: LM(2025, 1) = 2: LM(2025, 2) = 1: LM(2025, 3) = 2: LM(2025, 4) = 1: LM(2025, 5) = 1: LM(2025, 6) = 5: LM(2025, 7) = 2: LM(2025, 8) = 1: LM(2025, 9) = 2: LM(2025, 10) = 2: LM(2025, 11) = 2: LM(2025, 12) = 1
    LY(2026) = 355: LM(2026, 1) = 2: LM(2026, 2) = 1: LM(2026, 3) = 2: LM(2026, 4) = 1: LM(2026, 5) = 1: LM(2026, 6) = 2: LM(2026, 7) = 1: LM(2026, 8) = 2: LM(2026, 9) = 1: LM(2026, 10) = 2: LM(2026, 11) = 2: LM(2026, 12) = 2
    LY(2027) = 354: LM(2027, 1) = 1: LM(2027, 2) = 2: LM(2027, 3) = 1: LM(2027, 4) = 2: LM(2027, 5) = 1: LM(2027, 6) = 1: LM(2027, 7) = 2: LM(2027, 8) = 1: LM(2027, 9) = 1: LM(2027, 10) = 2: LM(2027, 11) = 2: LM(2027, 12) = 2
    LY(2028) = 383: LM(2028, 1) = 1: LM(2028, 2) = 2: LM(2028, 3) = 2: LM(2028, 4) = 1: LM(2028, 5) = 5: LM(2028, 6) = 1: LM(2028, 7) = 2: LM(2028, 8) = 1: LM(2028, 9) = 1: LM(2028, 10) = 2: LM(2028, 11) = 2: LM(2028, 12) = 1
    LY(2029) = 355: LM(2029, 1) = 2: LM(2029, 2) = 2: LM(2029, 3) = 1: LM(2029, 4) = 2: LM(2029, 5) = 2: LM(2029, 6) = 1: LM(2029, 7) = 1: LM(2029, 8) = 2: LM(2029, 9) = 1: LM(2029, 10) = 1: LM(2029, 11) = 2: LM(2029, 12) = 2
    LY(2030) = 354: LM(2030, 1) = 1: LM(2030, 2) = 2: LM(2030, 3) = 1: LM(2030, 4) = 2: LM(2030, 5) = 2: LM(2030, 6) = 1: LM(2030, 7) = 2: LM(2030, 8) = 1: LM(2030, 9) = 2: LM(2030, 10) = 1: LM(2030, 11) = 2: LM(2030, 12) = 1
    LY(2031) = 384: LM(2031, 1) = 2: LM(2031, 2) = 1: LM(2031, 3) = 5: LM(2031, 4) = 2: LM(2031, 5) = 1: LM(2031, 6) = 2: LM(2031, 7) = 2: LM(2031, 8) = 1: LM(2031, 9) = 2: LM(2031, 10) = 1: LM(2031, 11) = 2: LM(2031, 12) = 1
    LY(2032) = 355: LM(2032, 1) = 2: LM(2032, 2) = 1: LM(2032, 3) = 1: LM(2032, 4) = 2: LM(2032, 5) = 1: LM(2032, 6) = 2: LM(2032, 7) = 2: LM(2032, 8) = 1: LM(2032, 9) = 2: LM(2032, 10) = 2: LM(2032, 11) = 1: LM(2032, 12) = 2
    LY(2033) = 384: LM(2033, 1) = 1: LM(2033, 2) = 2: LM(2033, 3) = 1: LM(2033, 4) = 1: LM(2033, 5) = 2: LM(2033, 6) = 1: LM(2033, 7) = 2: LM(2033, 8) = 1: LM(2033, 9) = 2: LM(2033, 10) = 2: LM(2033, 11) = 5: LM(2033, 12) = 2
    LY(2034) = 354: LM(2034, 1) = 1: LM(2034, 2) = 2: LM(2034, 3) = 1: LM(2034, 4) = 1: LM(2034, 5) = 2: LM(2034, 6) = 1: LM(2034, 7) = 2: LM(2034, 8) = 1: LM(2034, 9) = 2: LM(2034, 10) = 2: LM(2034, 11) = 2: LM(2034, 12) = 1
    LY(2035) = 354: LM(2035, 1) = 2: LM(2035, 2) = 1: LM(2035, 3) = 2: LM(2035, 4) = 1: LM(2035, 5) = 1: LM(2035, 6) = 2: LM(2035, 7) = 1: LM(2035, 8) = 1: LM(2035, 9) = 2: LM(2035, 10) = 2: LM(2035, 11) = 1: LM(2035, 12) = 2
    LY(2036) = 384: LM(2036, 1) = 2: LM(2036, 2) = 2: LM(2036, 3) = 1: LM(2036, 4) = 2: LM(2036, 5) = 1: LM(2036, 6) = 4: LM(2036, 7) = 1: LM(2036, 8) = 1: LM(2036, 9) = 2: LM(2036, 10) = 2: LM(2036, 11) = 1: LM(2036, 12) = 2
    LY(2037) = 354: LM(2037, 1) = 2: LM(2037, 2) = 2: LM(2037, 3) = 1: LM(2037, 4) = 2: LM(2037, 5) = 1: LM(2037, 6) = 1: LM(2037, 7) = 2: LM(2037, 8) = 1: LM(2037, 9) = 1: LM(2037, 10) = 2: LM(2037, 11) = 1: LM(2037, 12) = 2
    LY(2038) = 354: LM(2038, 1) = 2: LM(2038, 2) = 2: LM(2038, 3) = 1: LM(2038, 4) = 2: LM(2038, 5) = 1: LM(2038, 6) = 2: LM(2038, 7) = 1: LM(2038, 8) = 2: LM(2038, 9) = 1: LM(2038, 10) = 1: LM(2038, 11) = 2: LM(2038, 12) = 1
    LY(2039) = 384: LM(2039, 1) = 2: LM(2039, 2) = 2: LM(2039, 3) = 1: LM(2039, 4) = 2: LM(2039, 5) = 5: LM(2039, 6) = 2: LM(2039, 7) = 1: LM(2039, 8) = 2: LM(2039, 9) = 1: LM(2039, 10) = 2: LM(2039, 11) = 1: LM(2039, 12) = 1
    LY(2040) = 355: LM(2040, 1) = 2: LM(2040, 2) = 1: LM(2040, 3) = 2: LM(2040, 4) = 2: LM(2040, 5) = 1: LM(2040, 6) = 2: LM(2040, 7) = 2: LM(2040, 8) = 1: LM(2040, 9) = 2: LM(2040, 10) = 1: LM(2040, 11) = 2: LM(2040, 12) = 1
    LY(2041) = 355: LM(2041, 1) = 2: LM(2041, 2) = 1: LM(2041, 3) = 1: LM(2041, 4) = 2: LM(2041, 5) = 1: LM(2041, 6) = 2: LM(2041, 7) = 2: LM(2041, 8) = 1: LM(2041, 9) = 2: LM(2041, 10) = 2: LM(2041, 11) = 1: LM(2041, 12) = 2
    LY(2042) = 384: LM(2042, 1) = 1: LM(2042, 2) = 5: LM(2042, 3) = 1: LM(2042, 4) = 2: LM(2042, 5) = 1: LM(2042, 6) = 2: LM(2042, 7) = 1: LM(2042, 8) = 2: LM(2042, 9) = 2: LM(2042, 10) = 1: LM(2042, 11) = 2: LM(2042, 12) = 2
    LY(2043) = 354: LM(2043, 1) = 1: LM(2043, 2) = 2: LM(2043, 3) = 1: LM(2043, 4) = 1: LM(2043, 5) = 2: LM(2043, 6) = 1: LM(2043, 7) = 1: LM(2043, 8) = 2: LM(2043, 9) = 2: LM(2043, 10) = 1: LM(2043, 11) = 2: LM(2043, 12) = 2
    LY(2044) = 384: LM(2044, 1) = 2: LM(2044, 2) = 1: LM(2044, 3) = 2: LM(2044, 4) = 1: LM(2044, 5) = 1: LM(2044, 6) = 2: LM(2044, 7) = 3: LM(2044, 8) = 2: LM(2044, 9) = 1: LM(2044, 10) = 2: LM(2044, 11) = 2: LM(2044, 12) = 2
    LY(2045) = 354: LM(2045, 1) = 2: LM(2045, 2) = 1: LM(2045, 3) = 2: LM(2045, 4) = 1: LM(2045, 5) = 1: LM(2045, 6) = 2: LM(2045, 7) = 1: LM(2045, 8) = 1: LM(2045, 9) = 2: LM(2045, 10) = 1: LM(2045, 11) = 2: LM(2045, 12) = 2
    LY(2046) = 354: LM(2046, 1) = 2: LM(2046, 2) = 1: LM(2046, 3) = 2: LM(2046, 4) = 2: LM(2046, 5) = 1: LM(2046, 6) = 1: LM(2046, 7) = 2: LM(2046, 8) = 1: LM(2046, 9) = 1: LM(2046, 10) = 2: LM(2046, 11) = 1: LM(2046, 12) = 2
    LY(2047) = 384: LM(2047, 1) = 2: LM(2047, 2) = 1: LM(2047, 3) = 2: LM(2047, 4) = 2: LM(2047, 5) = 4: LM(2047, 6) = 1: LM(2047, 7) = 2: LM(2047, 8) = 1: LM(2047, 9) = 1: LM(2047, 10) = 2: LM(2047, 11) = 1: LM(2047, 12) = 2
    LY(2048) = 354: LM(2048, 1) = 1: LM(2048, 2) = 2: LM(2048, 3) = 2: LM(2048, 4) = 1: LM(2048, 5) = 2: LM(2048, 6) = 2: LM(2048, 7) = 1: LM(2048, 8) = 2: LM(2048, 9) = 1: LM(2048, 10) = 2: LM(2048, 11) = 1: LM(2048, 12) = 1
    LY(2049) = 355: LM(2049, 1) = 2: LM(2049, 2) = 1: LM(2049, 3) = 2: LM(2049, 4) = 1: LM(2049, 5) = 2: LM(2049, 6) = 2: LM(2049, 7) = 1: LM(2049, 8) = 2: LM(2049, 9) = 2: LM(2049, 10) = 1: LM(2049, 11) = 2: LM(2049, 12) = 1
    LY(2050) = 384: LM(2050, 1) = 2: LM(2050, 2) = 1: LM(2050, 3) = 4: LM(2050, 4) = 1: LM(2050, 5) = 2: LM(2050, 6) = 1: LM(2050, 7) = 2: LM(2050, 8) = 2: LM(2050, 9) = 1: LM(2050, 10) = 2: LM(2050, 11) = 2: LM(2050, 12) = 1
    '// '천문연구원에 2050년 음력 11월 18일 = 양력 12월 31일 이후 음력 Data가 등록되어 있지 않지만,,, 새로 추가한 부분 2023.8.23
    LY(2051) = 355: LM(2051, 1) = 2: LM(2051, 2) = 1: LM(2051, 3) = 1: LM(2051, 4) = 2: LM(2051, 5) = 1: LM(2051, 6) = 2: LM(2051, 7) = 1: LM(2051, 8) = 2: LM(2051, 9) = 1: LM(2051, 10) = 2: LM(2051, 11) = 2: LM(2051, 12) = 2
    LY(2052) = 384: LM(2052, 1) = 1: LM(2052, 2) = 2: LM(2052, 3) = 1: LM(2052, 4) = 1: LM(2052, 5) = 2: LM(2052, 6) = 1: LM(2052, 7) = 1: LM(2052, 8) = 6: LM(2052, 9) = 1: LM(2052, 10) = 2: LM(2052, 11) = 2: LM(2052, 12) = 2
    LY(2053) = 354: LM(2053, 1) = 1: LM(2053, 2) = 2: LM(2053, 3) = 1: LM(2053, 4) = 1: LM(2053, 5) = 2: LM(2053, 6) = 1: LM(2053, 7) = 1: LM(2053, 8) = 2: LM(2053, 9) = 1: LM(2053, 10) = 2: LM(2053, 11) = 2: LM(2053, 12) = 2
    LY(2054) = 354: LM(2054, 1) = 1: LM(2054, 2) = 2: LM(2054, 3) = 2: LM(2054, 4) = 1: LM(2054, 5) = 1: LM(2054, 6) = 2: LM(2054, 7) = 1: LM(2054, 8) = 1: LM(2054, 9) = 2: LM(2054, 10) = 1: LM(2054, 11) = 2: LM(2054, 12) = 2
    LY(2055) = 383: LM(2055, 1) = 1: LM(2055, 2) = 2: LM(2055, 3) = 2: LM(2055, 4) = 1: LM(2055, 5) = 2: LM(2055, 6) = 4: LM(2055, 7) = 1: LM(2055, 8) = 1: LM(2055, 9) = 2: LM(2055, 10) = 1: LM(2055, 11) = 2: LM(2055, 12) = 1
    LY(2056) = 355: LM(2056, 1) = 2: LM(2056, 2) = 2: LM(2056, 3) = 2: LM(2056, 4) = 1: LM(2056, 5) = 2: LM(2056, 6) = 1: LM(2056, 7) = 2: LM(2056, 8) = 1: LM(2056, 9) = 1: LM(2056, 10) = 2: LM(2056, 11) = 1: LM(2056, 12) = 2
    LY(2057) = 354: LM(2057, 1) = 1: LM(2057, 2) = 2: LM(2057, 3) = 2: LM(2057, 4) = 1: LM(2057, 5) = 2: LM(2057, 6) = 1: LM(2057, 7) = 2: LM(2057, 8) = 2: LM(2057, 9) = 1: LM(2057, 10) = 1: LM(2057, 11) = 2: LM(2057, 12) = 1
    LY(2058) = 384: LM(2058, 1) = 2: LM(2058, 2) = 1: LM(2058, 3) = 2: LM(2058, 4) = 4: LM(2058, 5) = 2: LM(2058, 6) = 1: LM(2058, 7) = 2: LM(2058, 8) = 1: LM(2058, 9) = 2: LM(2058, 10) = 2: LM(2058, 11) = 1: LM(2058, 12) = 1
    LY(2059) = 355: LM(2059, 1) = 2: LM(2059, 2) = 1: LM(2059, 3) = 2: LM(2059, 4) = 1: LM(2059, 5) = 2: LM(2059, 6) = 1: LM(2059, 7) = 2: LM(2059, 8) = 2: LM(2059, 9) = 1: LM(2059, 10) = 2: LM(2059, 11) = 2: LM(2059, 12) = 1
    LY(2060) = 355: LM(2060, 1) = 2: LM(2060, 2) = 1: LM(2060, 3) = 1: LM(2060, 4) = 2: LM(2060, 5) = 1: LM(2060, 6) = 1: LM(2060, 7) = 2: LM(2060, 8) = 2: LM(2060, 9) = 1: LM(2060, 10) = 2: LM(2060, 11) = 2: LM(2060, 12) = 2
    LY(2061) = 383: LM(2061, 1) = 1: LM(2061, 2) = 2: LM(2061, 3) = 3: LM(2061, 4) = 2: LM(2061, 5) = 1: LM(2061, 6) = 1: LM(2061, 7) = 2: LM(2061, 8) = 1: LM(2061, 9) = 2: LM(2061, 10) = 2: LM(2061, 11) = 2: LM(2061, 12) = 1
    LY(2062) = 354: LM(2062, 1) = 2: LM(2062, 2) = 2: LM(2062, 3) = 1: LM(2062, 4) = 1: LM(2062, 5) = 2: LM(2062, 6) = 1: LM(2062, 7) = 1: LM(2062, 8) = 2: LM(2062, 9) = 1: LM(2062, 10) = 2: LM(2062, 11) = 2: LM(2062, 12) = 1
    LY(2063) = 384: LM(2063, 1) = 2: LM(2063, 2) = 2: LM(2063, 3) = 1: LM(2063, 4) = 2: LM(2063, 5) = 1: LM(2063, 6) = 2: LM(2063, 7) = 3: LM(2063, 8) = 2: LM(2063, 9) = 1: LM(2063, 10) = 2: LM(2063, 11) = 1: LM(2063, 12) = 2
    LY(2064) = 354: LM(2064, 1) = 2: LM(2064, 2) = 2: LM(2064, 3) = 1: LM(2064, 4) = 2: LM(2064, 5) = 1: LM(2064, 6) = 2: LM(2064, 7) = 1: LM(2064, 8) = 1: LM(2064, 9) = 2: LM(2064, 10) = 1: LM(2064, 11) = 2: LM(2064, 12) = 1
    LY(2065) = 355: LM(2065, 1) = 2: LM(2065, 2) = 2: LM(2065, 3) = 1: LM(2065, 4) = 2: LM(2065, 5) = 2: LM(2065, 6) = 1: LM(2065, 7) = 2: LM(2065, 8) = 1: LM(2065, 9) = 1: LM(2065, 10) = 2: LM(2065, 11) = 1: LM(2065, 12) = 2
    LY(2066) = 384: LM(2066, 1) = 1: LM(2066, 2) = 2: LM(2066, 3) = 1: LM(2066, 4) = 2: LM(2066, 5) = 5: LM(2066, 6) = 2: LM(2066, 7) = 1: LM(2066, 8) = 2: LM(2066, 9) = 1: LM(2066, 10) = 2: LM(2066, 11) = 1: LM(2066, 12) = 2
    LY(2067) = 354: LM(2067, 1) = 1: LM(2067, 2) = 2: LM(2067, 3) = 1: LM(2067, 4) = 2: LM(2067, 5) = 1: LM(2067, 6) = 2: LM(2067, 7) = 2: LM(2067, 8) = 1: LM(2067, 9) = 2: LM(2067, 10) = 1: LM(2067, 11) = 2: LM(2067, 12) = 1
    LY(2068) = 355: LM(2068, 1) = 2: LM(2068, 2) = 1: LM(2068, 3) = 2: LM(2068, 4) = 1: LM(2068, 5) = 2: LM(2068, 6) = 1: LM(2068, 7) = 2: LM(2068, 8) = 1: LM(2068, 9) = 2: LM(2068, 10) = 2: LM(2068, 11) = 1: LM(2068, 12) = 2
    LY(2069) = 384: LM(2069, 1) = 2: LM(2069, 2) = 1: LM(2069, 3) = 1: LM(2069, 4) = 5: LM(2069, 5) = 1: LM(2069, 6) = 2: LM(2069, 7) = 1: LM(2069, 8) = 2: LM(2069, 9) = 2: LM(2069, 10) = 2: LM(2069, 11) = 1: LM(2069, 12) = 2
    LY(2070) = 354: LM(2070, 1) = 2: LM(2070, 2) = 1: LM(2070, 3) = 1: LM(2070, 4) = 2: LM(2070, 5) = 1: LM(2070, 6) = 1: LM(2070, 7) = 2: LM(2070, 8) = 1: LM(2070, 9) = 2: LM(2070, 10) = 2: LM(2070, 11) = 1: LM(2070, 12) = 2
    LY(2071) = 384: LM(2071, 1) = 2: LM(2071, 2) = 2: LM(2071, 3) = 1: LM(2071, 4) = 1: LM(2071, 5) = 2: LM(2071, 6) = 1: LM(2071, 7) = 1: LM(2071, 8) = 5: LM(2071, 9) = 2: LM(2071, 10) = 1: LM(2071, 11) = 2: LM(2071, 12) = 2
    LY(2072) = 354: LM(2072, 1) = 2: LM(2072, 2) = 1: LM(2072, 3) = 2: LM(2072, 4) = 1: LM(2072, 5) = 2: LM(2072, 6) = 1: LM(2072, 7) = 1: LM(2072, 8) = 2: LM(2072, 9) = 1: LM(2072, 10) = 2: LM(2072, 11) = 1: LM(2072, 12) = 2
    LY(2073) = 354: LM(2073, 1) = 2: LM(2073, 2) = 1: LM(2073, 3) = 2: LM(2073, 4) = 2: LM(2073, 5) = 1: LM(2073, 6) = 2: LM(2073, 7) = 1: LM(2073, 8) = 1: LM(2073, 9) = 2: LM(2073, 10) = 1: LM(2073, 11) = 2: LM(2073, 12) = 1
    LY(2074) = 384: LM(2074, 1) = 2: LM(2074, 2) = 1: LM(2074, 3) = 2: LM(2074, 4) = 2: LM(2074, 5) = 1: LM(2074, 6) = 5: LM(2074, 7) = 2: LM(2074, 8) = 1: LM(2074, 9) = 2: LM(2074, 10) = 1: LM(2074, 11) = 2: LM(2074, 12) = 1
    LY(2075) = 355: LM(2075, 1) = 2: LM(2075, 2) = 1: LM(2075, 3) = 2: LM(2075, 4) = 1: LM(2075, 5) = 2: LM(2075, 6) = 2: LM(2075, 7) = 1: LM(2075, 8) = 2: LM(2075, 9) = 1: LM(2075, 10) = 2: LM(2075, 11) = 1: LM(2075, 12) = 2
    LY(2076) = 354: LM(2076, 1) = 1: LM(2076, 2) = 2: LM(2076, 3) = 1: LM(2076, 4) = 2: LM(2076, 5) = 1: LM(2076, 6) = 2: LM(2076, 7) = 1: LM(2076, 8) = 2: LM(2076, 9) = 2: LM(2076, 10) = 1: LM(2076, 11) = 2: LM(2076, 12) = 1
    LY(2077) = 384: LM(2077, 1) = 2: LM(2077, 2) = 1: LM(2077, 3) = 2: LM(2077, 4) = 3: LM(2077, 5) = 2: LM(2077, 6) = 1: LM(2077, 7) = 2: LM(2077, 8) = 2: LM(2077, 9) = 2: LM(2077, 10) = 1: LM(2077, 11) = 2: LM(2077, 12) = 1
    LY(2078) = 355: LM(2078, 1) = 2: LM(2078, 2) = 1: LM(2078, 3) = 2: LM(2078, 4) = 1: LM(2078, 5) = 1: LM(2078, 6) = 2: LM(2078, 7) = 1: LM(2078, 8) = 2: LM(2078, 9) = 2: LM(2078, 10) = 1: LM(2078, 11) = 2: LM(2078, 12) = 2
    LY(2079) = 354: LM(2079, 1) = 1: LM(2079, 2) = 2: LM(2079, 3) = 1: LM(2079, 4) = 2: LM(2079, 5) = 1: LM(2079, 6) = 1: LM(2079, 7) = 2: LM(2079, 8) = 1: LM(2079, 9) = 2: LM(2079, 10) = 1: LM(2079, 11) = 2: LM(2079, 12) = 2
    LY(2080) = 384: LM(2080, 1) = 2: LM(2080, 2) = 1: LM(2080, 3) = 5: LM(2080, 4) = 2: LM(2080, 5) = 1: LM(2080, 6) = 1: LM(2080, 7) = 2: LM(2080, 8) = 1: LM(2080, 9) = 2: LM(2080, 10) = 1: LM(2080, 11) = 2: LM(2080, 12) = 2
    LY(2081) = 354: LM(2081, 1) = 2: LM(2081, 2) = 1: LM(2081, 3) = 2: LM(2081, 4) = 1: LM(2081, 5) = 2: LM(2081, 6) = 1: LM(2081, 7) = 1: LM(2081, 8) = 2: LM(2081, 9) = 1: LM(2081, 10) = 1: LM(2081, 11) = 2: LM(2081, 12) = 2
    LY(2082) = 384: LM(2082, 1) = 1: LM(2082, 2) = 2: LM(2082, 3) = 2: LM(2082, 4) = 2: LM(2082, 5) = 1: LM(2082, 6) = 2: LM(2082, 7) = 3: LM(2082, 8) = 2: LM(2082, 9) = 1: LM(2082, 10) = 2: LM(2082, 11) = 1: LM(2082, 12) = 2
    LY(2083) = 354: LM(2083, 1) = 1: LM(2083, 2) = 2: LM(2083, 3) = 2: LM(2083, 4) = 1: LM(2083, 5) = 2: LM(2083, 6) = 1: LM(2083, 7) = 2: LM(2083, 8) = 1: LM(2083, 9) = 2: LM(2083, 10) = 1: LM(2083, 11) = 2: LM(2083, 12) = 1
    LY(2084) = 355: LM(2084, 1) = 2: LM(2084, 2) = 1: LM(2084, 3) = 2: LM(2084, 4) = 1: LM(2084, 5) = 2: LM(2084, 6) = 2: LM(2084, 7) = 1: LM(2084, 8) = 2: LM(2084, 9) = 1: LM(2084, 10) = 2: LM(2084, 11) = 1: LM(2084, 12) = 2
    LY(2085) = 384: LM(2085, 1) = 1: LM(2085, 2) = 2: LM(2085, 3) = 1: LM(2085, 4) = 1: LM(2085, 5) = 6: LM(2085, 6) = 1: LM(2085, 7) = 2: LM(2085, 8) = 2: LM(2085, 9) = 1: LM(2085, 10) = 2: LM(2085, 11) = 1: LM(2085, 12) = 2
    LY(2086) = 354: LM(2086, 1) = 1: LM(2086, 2) = 2: LM(2086, 3) = 1: LM(2086, 4) = 1: LM(2086, 5) = 2: LM(2086, 6) = 1: LM(2086, 7) = 2: LM(2086, 8) = 2: LM(2086, 9) = 1: LM(2086, 10) = 2: LM(2086, 11) = 2: LM(2086, 12) = 1
    LY(2087) = 355: LM(2087, 1) = 2: LM(2087, 2) = 1: LM(2087, 3) = 2: LM(2087, 4) = 1: LM(2087, 5) = 1: LM(2087, 6) = 2: LM(2087, 7) = 1: LM(2087, 8) = 2: LM(2087, 9) = 1: LM(2087, 10) = 2: LM(2087, 11) = 2: LM(2087, 12) = 2
    LY(2088) = 384: LM(2088, 1) = 1: LM(2088, 2) = 2: LM(2088, 3) = 1: LM(2088, 4) = 5: LM(2088, 5) = 1: LM(2088, 6) = 2: LM(2088, 7) = 1: LM(2088, 8) = 1: LM(2088, 9) = 2: LM(2088, 10) = 2: LM(2088, 11) = 2: LM(2088, 12) = 2
    LY(2089) = 353: LM(2089, 1) = 1: LM(2089, 2) = 2: LM(2089, 3) = 1: LM(2089, 4) = 2: LM(2089, 5) = 1: LM(2089, 6) = 1: LM(2089, 7) = 2: LM(2089, 8) = 1: LM(2089, 9) = 1: LM(2089, 10) = 2: LM(2089, 11) = 2: LM(2089, 12) = 1
    LY(2090) = 384: LM(2090, 1) = 2: LM(2090, 2) = 2: LM(2090, 3) = 2: LM(2090, 4) = 1: LM(2090, 5) = 2: LM(2090, 6) = 1: LM(2090, 7) = 1: LM(2090, 8) = 5: LM(2090, 9) = 1: LM(2090, 10) = 2: LM(2090, 11) = 2: LM(2090, 12) = 1
    LY(2091) = 355: LM(2091, 1) = 2: LM(2091, 2) = 2: LM(2091, 3) = 1: LM(2091, 4) = 2: LM(2091, 5) = 1: LM(2091, 6) = 2: LM(2091, 7) = 1: LM(2091, 8) = 2: LM(2091, 9) = 1: LM(2091, 10) = 1: LM(2091, 11) = 2: LM(2091, 12) = 2
    LY(2092) = 354: LM(2092, 1) = 1: LM(2092, 2) = 2: LM(2092, 3) = 1: LM(2092, 4) = 2: LM(2092, 5) = 2: LM(2092, 6) = 1: LM(2092, 7) = 2: LM(2092, 8) = 1: LM(2092, 9) = 2: LM(2092, 10) = 1: LM(2092, 11) = 2: LM(2092, 12) = 1
    LY(2093) = 384: LM(2093, 1) = 2: LM(2093, 2) = 1: LM(2093, 3) = 2: LM(2093, 4) = 1: LM(2093, 5) = 2: LM(2093, 6) = 4: LM(2093, 7) = 2: LM(2093, 8) = 1: LM(2093, 9) = 2: LM(2093, 10) = 1: LM(2093, 11) = 2: LM(2093, 12) = 1
    LY(2094) = 355: LM(2094, 1) = 2: LM(2094, 2) = 1: LM(2094, 3) = 1: LM(2094, 4) = 2: LM(2094, 5) = 1: LM(2094, 6) = 2: LM(2094, 7) = 2: LM(2094, 8) = 1: LM(2094, 9) = 2: LM(2094, 10) = 2: LM(2094, 11) = 1: LM(2094, 12) = 2
    LY(2095) = 354: LM(2095, 1) = 1: LM(2095, 2) = 2: LM(2095, 3) = 1: LM(2095, 4) = 1: LM(2095, 5) = 2: LM(2095, 6) = 1: LM(2095, 7) = 2: LM(2095, 8) = 1: LM(2095, 9) = 2: LM(2095, 10) = 2: LM(2095, 11) = 2: LM(2095, 12) = 1
    LY(2096) = 384: LM(2096, 1) = 2: LM(2096, 2) = 1: LM(2096, 3) = 2: LM(2096, 4) = 3: LM(2096, 5) = 2: LM(2096, 6) = 1: LM(2096, 7) = 2: LM(2096, 8) = 1: LM(2096, 9) = 2: LM(2096, 10) = 2: LM(2096, 11) = 1: LM(2096, 12) = 2
    LY(2097) = 354: LM(2097, 1) = 2: LM(2097, 2) = 1: LM(2097, 3) = 2: LM(2097, 4) = 1: LM(2097, 5) = 1: LM(2097, 6) = 2: LM(2097, 7) = 1: LM(2097, 8) = 1: LM(2097, 9) = 2: LM(2097, 10) = 2: LM(2097, 11) = 1: LM(2097, 12) = 2
    LY(2098) = 354: LM(2098, 1) = 2: LM(2098, 2) = 2: LM(2098, 3) = 1: LM(2098, 4) = 2: LM(2098, 5) = 1: LM(2098, 6) = 1: LM(2098, 7) = 2: LM(2098, 8) = 1: LM(2098, 9) = 1: LM(2098, 10) = 2: LM(2098, 11) = 2: LM(2098, 12) = 1
    LY(2099) = 384: LM(2099, 1) = 2: LM(2099, 2) = 2: LM(2099, 3) = 5: LM(2099, 4) = 2: LM(2099, 5) = 1: LM(2099, 6) = 1: LM(2099, 7) = 2: LM(2099, 8) = 1: LM(2099, 9) = 1: LM(2099, 10) = 2: LM(2099, 11) = 1: LM(2099, 12) = 2
    LY(2100) = 354: LM(2100, 1) = 2: LM(2100, 2) = 2: LM(2100, 3) = 1: LM(2100, 4) = 2: LM(2100, 5) = 1: LM(2100, 6) = 2: LM(2100, 7) = 1: LM(2100, 8) = 2: LM(2100, 9) = 1: LM(2100, 10) = 1: LM(2100, 11) = 2: LM(2100, 12) = 1
    LY(2101) = 384: LM(2101, 1) = 2: LM(2101, 2) = 2: LM(2101, 3) = 1: LM(2101, 4) = 2: LM(2101, 5) = 2: LM(2101, 6) = 1: LM(2101, 7) = 5: LM(2101, 8) = 2: LM(2101, 9) = 1: LM(2101, 10) = 2: LM(2101, 11) = 1: LM(2101, 12) = 1

End Sub

 

이제 남은건 기준날짜를 정해두고 그날로부터 변환하는 날까지의 날수를 하나씩 차감하면서 계산하는 것입니다.

기준날짜는 1900년 1월 1일로 하였습니다.(음력 1899년 12월 1일)

Public Function ToLunar(SolarDate As String)
    Dim userDate As String, iYear As Integer, iMonth As Integer, iDay As Integer, iDays As Long
        
    On Error GoTo ERR_EXIT
    
    Call makeDateArrays
    
    '// 직전년, 직전월, 당월일을 구함, 다음과 같이 3가지 형식을 지원함 ("2000-01-01", "2000/02/01", "20000101")
    userDate = Replace(Replace(Trim(SolarDate), "/", vbNullString), "-", vbNullString)
    If Len(userDate) <> 8 Then ToLunar = CVErr(xlErrValue): Exit Function
    '// 양력1900-01-01(=음력1899-12-01) 이전은 #Value! 오류 반환
    '// 양력2100-12-31(=음력2100-12-01) 이후는 #Value! 오류 반환
    If userDate < "19000101" Then ToLunar = CVErr(xlErrValue): Exit Function
    If userDate > "21001231" Then ToLunar = CVErr(xlErrValue): Exit Function
    
    iYear = Mid(userDate, 1, 4) * 1
    iMonth = Mid(userDate, 5, 2) * 1
    iDay = Mid(userDate, 7, 2) * 1
    If Not IsDate(iYear & "-" & iMonth & "-" & iDay) Then ToLunar = CVErr(xlErrValue): Exit Function
    
    '// 1900년 1월 1일부터 요청일까지의 날수
    iDays = DateValue(iYear & "-" & iMonth & "-" & iDay) - DateValue("1900-01-01") + 1
    
    iYear = 1899
    iMonth = 12
    
    '// 1899년 12월부터 매월 날수를 차감하여 남은 날수가 한달을 넘지 않을 때까지 진행
    Do While iDays > LType(LM(iYear, iMonth))
        iDays = iDays - LType(LM(iYear, iMonth))
        iMonth = iMonth + 1
        If iMonth = 13 Then iYear = iYear + 1: iMonth = 1
    Loop
    
    '// 남은 날수로 평달, 윤달 확인한 날짜로 적용
    If LM(iYear, iMonth) < 3 Then
        ToLunar = iYear & "-" & Format(iMonth, "00") & "-" & Format(iDays, "00")
    Else
        If iDays > IIf(LM(iYear, iMonth) < 5, 29, 30) Then
            iDays = iDays - IIf(LM(iYear, iMonth) < 5, 29, 30)
            ToLunar = "(윤)"
        End If
        ToLunar = iYear & "-" & Format(iMonth, "00") & "-" & Format(iDays, "00") & ToLunar
    End If
    
    Exit Function
    
ERR_EXIT:
    ToLunar = CVErr(xlErrValue)
    
End Function

 

인수를 String형식으로 지정하였으므로, VBA에서 사용할 때는 반드시 문자열 형식으로 넣어 주어야 하지만,

Excel에서 셀 수식에 사용할 경우에는  날짜형식으로 입력된 셀을 참조로 넣어도  정상적으로 음력이 변환됩니다.

 

음력을 양력으로 변환하는 것도 비슷한 방식으로 날짜를 차감하여 계산합니다.

 

다만, VBA에서는 문제가 없지만, Excel 시트에서는 1900년에 일부 의도된 날짜 오류가 있습니다.

(영문) https://learn.microsoft.com/en-us/office/troubleshoot/excel/wrongly-assumes-1900-is-leap-year

(한글) https://learn.microsoft.com/ko-kr/office/troubleshoot/excel/wrongly-assumes-1900-is-leap-year

 

이전에 사용하던 Lotus-1-2-3와의 호환성을 유지하기 위하여 일부러 오류를 유지하고 있어
1900-01-01 ~ 1900-02-28  이 기간을 사용하지 않는다면 별다른 문제는 없습니다.

 

Excel에서 =DATEVALUE("1900-02-29") 를 수식으로 넣으면 정상적인 날짜처럼 보이지만,

실제로 1900년은 윤년이 아니기 때문에 2월 29일은 존재하지 않습니다.

VBA 직접실행창에서 ?IsDate("1900-02-29")를 하면 결과가 False가 됩니다.

 

 

728x90