>> Read Reply from No. 1389 article  
RE: cal 은 잘못되지 않았습니다. ^^;

등록 2001-06-20 20:12:00     조회 5
이름 kimio    

		C 로 날짜를 구하는 함수를 만들다 cal 에서 이상한 점을 발견했었습니다.
100년과 1000년은 분명히 윤년이 아닌데, 실행을 해보면,
----------------------
# cal 2 100
    February 100
Su Mo Tu We Th Fr Sa
                   1
 2  3  4  5  6  7  8
 9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
----------------------
이렇게 나오는 겁니다.  분명히 버그다! 이렇게 생각을 했었지만.....
그게 아니더군요..아래의 글을 읽어 보세요..
 --------------- 아   래 ---------------
현재 사용되고 있는 태양력은 그레고리력인데, 원칙대로라면 제시하신 계산법이 맞
습니다.
 다만, 이 방식(400년에 97번의 윤년)은 그레고리력이 적용된 1582년 이후에 해당됩
니다.
 그 이전은 율리우스력을 사용해서 그냥 4년마다 1번씩 윤년이 들어갑니다.
 따라서 말씀하신 100년과 1000년의 경우는 윤년이 맞습니다. (100년단위 보정이 없
습니다.)
 좀더 정확히는 08년부터 4년마다 1번 윤년이 되고, 04년은 윤년이 아닙니다.
 따라서,
 BC 6 - AD 7년 : 윤년 없음
 8년 - 1581년 : 4년마다 윤년 (400년에 100회)
 1582년 -      : 400년마다 97번의 윤년
 또한 그레고리력이 적용된 이후에도 약간의 오류가 있는데
 원래는 그레고리력 반포시점인 1582년도에서 3월 11일 - 3월 20일이 없어야 하지만,
 실제 국가마다 적용되는데 차이가 있어 이 보정이 이루어지지 않은 달력의 경우는
 누적오류를 정정하기 위해 1752년  9월 3일 - 9월 13일이 없습니다.
  한편, 현재의 그레고리력은 3000년에 1일정도의 오차가 또 발생합니다.
 따라서, 제대로 하려면 3000년마다 다시 한번 윤년보정을 해주어야 하는데,
 아직까지는 이 부분에 대한 규정은 없는 것으로 알고 있습니다.
  이런 것들 말고도 과거의 역법은, 현재의 달력과는 월별 날짜에 차이가 있어서
 정확한 작업을 원하신다면 좀더 상세한 자료를 수집해서 확인하셔야 할 것입니다.
 조금이나마 도움이 되기를 바랍니다. emoticon
 안녕히.
----------------------------------------------------------------------
 : 말 그대롭니다. 달력구하는 쉘스크립트입니다.
: 전에 올렸던 것이 넘 느려서 이렇게 다시 올립니다.
:
: 버그 수정을 하는 도중 새로운 사실을 발견했습니다. cal이라는 프로그램 있죠?
:
: 그거 윤년을 고려하지 않습니다. 따라서 그것과 제것을 비교하시고
:
: 잘못됐다고 생각하시면 안됩니다.
:
: 아무쪼록 쉘스크립트 공부하시는 분께 조금이나마 도움이 되었으면 좋겠습니다.
:
: <a href="http://esc.cl.hangkong.ac.kr/~fthing/shellcal.sh"><b>클릭!!</b></a>
:
: 실행방법>
:
: $ ls -l shellcal.sh
: -rw-r--r--    1 jinjin   jinjin       2023  6월 20 18:02 shellcal.sh
: $ chmod 755 shellcal.sh
:
: 실행할 준비가 된상태 이제 실행>
:
: $ ./shellcal.sh 1982 11 # 년도와 달 사이에 공백을 둠.
: ====================
:     1982년 11월   
: --------------------
: 일 월 화 수 목 금 토
: --------------------
:     1  2  3  4  5  6
:  7  8  9 10 11 12 13
: 14 15 16 17 18 19 20
: 21 22 23 24 25 26 27
: 28 29 30
: ====================
: $
:
:
: 그럼 이만...
:
: --
: 에공 sed하고 grep은 옵션이 왜케 마노...
:
: 얼렁 알아야 할텐데...--by kimio
이름
암호


>> 관련글
1389 달력구하는 쉘스크립트(속도개선버전)  단말기와키보드  2001.06.20  ....
  답장 RE: cal 은 잘못되지 않았습니다. ^^;  kimio  2001.06.20  ....
  목록보기 윗글 아랫글
글쓰기
답장쓰기 수정 삭제
정규표현식 [ 상세 검색 ]
페이지로딩: [ 0.69 초 ] 작업시간: [ 0.17 초 ]

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved
[TOP]

적수네 동네
+
| 적수네 동네
| 공부방
| 리눅스 잡지 서고
| LSN 소스
| 링크 모음
+---+
게시판
+
| 떠들어보세!
| 질문과 답변
| 새소식과 정보
| 1원짜리 팁?
| 대화방
+---+
칼럼?
+
| 세하 훔쳐보기
| Welcome2nite
| 혜진의 염장판
+---+
리눅스 상표권
+
| 반대 서명란
| 토론 게시판
+---+
GNU
+
| GNU 선언문
| GNU GPL
| GNU 미러 목록
+---+
프로젝트?
+
| 리눅스카운터
| RC5DES
| 실질헌법 제작
+---+
커널 소식
+
| 안정 버젼: 2.4.14
+---+
테마 선택
+
LSN 방송국?
+
| OFF AIR
+---+
회원
+
| 로그인
+---+
[ 적수네 동네 ] [ 리눅스 상표권 독점 반대 ] [ 한글 리눅스 문서 프로젝트 ] [ KrLine ] [ 사랑넷 ] [ Valid HTML 4.0! ] [ SlashDot ] [ Freshmeat ]
Copyleft (C) 1998-2001 Byeong-Chan Kim . License
TIME: 1791055763
System by WYZsoft, HDD by I.O.Linux, Mizi Research, Embryo, WOWLINUX, Domain by SarangNet, Network by KrLine.