본문으로 바로가기

Elementary Number Theory - 6.4 An application to the calendar(달력 알고리즘)





개발을 하다보면 1달 전, 1주일 전, 이런거 짜야될 때가 있다. 그 때 이 내용을 알고 짜면 훨 도움이 될 듯.


우리가 알고 있는 number of days in 1 year(1년에 들어 있는 날짜의 개수)는 365day 이다. 하지만 4년마다 '윤년(leap year)'이 있다. 지구가 태양계를 한바퀴 도는데 걸리는 시간이 365.2422 일이기 때문이다.


16세기 전 율리우스력은 365.25(1/4)를 기준으로 만들었는데 이게 1000년정도 사용하니까 오차가 10일정도 나는 것을 발견한 16세기 사람들이 '그레고리우스력'을 만들었다. '그레고리우스력'은 4년마다 윤년이 있고 100으로 나누어 떨어지는 해에는 윤년이 없는 달력이다. 이것 뿐만 아니고 400으로 나누어 떨어지는 해에는 윤년이 있다.



공식이 있는데

Dy = 3 - 2c + y + [c/4] + [y/4]


이거임.


end.




댓글을 달아 주세요