tail head cat sleep
QR code linking to this page

Man page  — CALENDAR

명칭

easterg, easterog, easteroj, gdate, jdate, ndaysg, ndaysj, week, weekday – 서기에서의 날짜의 연산

내용

프로그램 라이브러리

Calendar Arithmetic Library (libcalendar, -lcalendar)

서식

#include <calendar.h>

struct date *
easterg(int year, struct date *dt);

struct date *
easterog(int year, struct date *dt);

struct date *
easteroj(int year, struct date *dt);

struct date *
gdate(int nd, struct date *dt);

struct date *
jdate(int nd, struct date *dt);

int
ndaysg(struct date *dt);

int
ndaysj(struct date *dt);

int
week(int nd, int *year);

int
weekday(int nd);

해설

이러한 함수는, 서기 0 년 (즉 B.C. 1 년) 3 월 1 일 (으)로부터 서기 100000 년까지의 광범위의 세월의 달력을 연산합니다.

프로그램은 -lcalendar (와)과 링크 시킬 필요가 있습니다.

함수 easterg(), easterog()easteroj() (은)는, Easter Sunday (부활제의 일요일) 의 날짜를, dt 그리고 지정한 구조체에 보존해, 이 구조체의 포인터를 돌려줍니다. 함수 easterg() (은)는, 태양력 (1582 년 이후에 서유럽의 대부분의 크리스트교회에서 채용되었다) (을)를 가정해, 함수 easterog()easteroj() (은)는, 정통파 (1582 년 이전의 서유럽 교회, 및 오늘까지 계속된다 그리스 정교회, 러시아 정교회 등 이른바 동방 정교회) 의 규칙에 따라, Easter Sunday 의 날짜를 연산합니다. 그 결과, easterog() (은)는 태양력(현행 태양력)을 돌려주어, easteroj() (은)는 율리우스력( 구태양력)을 돌려줍니다.

함수 gdate(), jdate(), ndaysg()ndaysj() (은)는, 날짜의 "년, 달, 날" 그렇다고 하는 일반 표기와 보다 연산에 적절했다 "날짜" 표현의 상호 변환을 실시합니다. B.C. 1 년 3 월 1 일을 0 으로서 이후의 경과일에 차례로 번호가 차입니다. 즉 이 날 번호는, B.C. 1 년 3 월 1 일부터 그 날까지의 경과일수를 나타냅니다. 변환은, 정수일 번호에 대해서만 기능합니다.

gdate()jdate() 함수는, 날 번호 nd 에 대응하는 날짜를 dt 그리고 지정한 구조체에 보존해, 그 구조체의 포인터를 돌려줍니다.

ndaysg()ndaysj() 함수는, dt 그리고 지정한 날짜일 번호를 돌려줍니다.

gdate()ndaysg() 함수는, 1582 년 10 월 4 일 이후의 태양력 및, 이전의 율리우스력을 가정합니다만, 한편, jdate()ndaysj() (은)는 일관해 율리우스력만을 가정합니다.

이것들 2 개의 달력으로는 윤년의 정의가 다릅니다. 율리우스력에서는 4 의 배수의 해는 모두 윤년입니다만, 태양력으로는 그 중의 100 의 배수로, 400 의 배수가 아닌 해를 제외합니다. 즉, 1700, 1800, 1900, 2100 년은 윤년이 아니고, 2000 년은 윤년이 됩니다. 이 새로운 규칙은, 1582 년 10 월 4 일에, 같은 날 이후의 10 일을 삭제하는 것으로 개시되었습니다. 카톨릭 국가의 대부분은, 16 세기말까지 이 양력을 채용했습니다만, 한편, 20 세기까지 아직 율리우스력에 머무르는 나라들도 있었습니다. 영국과 그 식민지가 양력으로 전환한 것은, 1752 년 9 월 2 일이었지만, 그 시점에서는 벌써 11 일을 삭제할 필요가 있었습니다.

함수 week() (은)는, nd 그리고 지정된 날 번호의 날짜가 포함되는 주번호를 돌려줍니다. 인수 *year (은)는, 그 주 (의 반이상)가 포함되는 해로 설정됩니다. 주번호는, 매년의 3 일 이상이 포함되는 제 1 주를 1 으로서 차례로 차입니다. 주는 월요일부터 시작됩니다. 이 함수는 태양력인 만큼 정의됩니다.

함수 weekday() (은)는, nd 그리고 지정된 날 번호의 날짜의 요일 (월요일 = 0 … 일요일 = 6) (을)를 돌려줍니다.

구조체 date 하 < calendar.h> 안에서 정의되고 있습니다. 다음의 필드를 포함합니다.

int y;          /* year (0000 - ????) */
int m;          /* month (1 - 12) */
int d;          /* day of month (1 - 31) */

0 년은 역사가의 손에서는 "1 B.C." (이)라고 쓰여집니다만, 천문학자와 이 프로그램 라이브러리에서는 "0" (와)과 표기됩니다.

관련 항목

ncal(1), strftime(3)

표준

주번호는 ISO 8601: 1988 에 적합하고 있습니다.

역사

calendar 프로그램 라이브러리는 FreeBSD 3.0 그리고 처음 등장했습니다.

저자

이 메뉴얼 페이지와 프로그램 라이브러리는, Wolfgang Helbig <helbig@FreeBSD.org> 에 의해 쓰여졌습니다.

버그

이 프로그램 라이브러리는 극히 신중하게 코딩 되었으므로, 남겨진 버그는 없습니다.

CALENDAR (3) November 29, 1997

tail head cat sleep
QR code linking to this page


Ben Bullock이 유닉스 매뉴얼 페이지에서 서비스에 대한 의견을 주시기 바랍니다. Privacy policy.

Using Unix is the computing equivalent of listening only to music by David Cassidy
— Rob Pike