PHP의 cal_from_jd() 함수는 율리우스 일수(Julian Day)를 받아 해당 날짜가 속한 달력 체계의 세부 정보를 연관 배열 형태로 반환하는 내장 함수입니다. 날짜뿐만 아니라 요일, 월 이름 등 다양한 정보를 함께 제공하므로 달력 관련 기능을 개발할 때 매우 유용하게 활용됩니다.
문법(Syntax)
cal_from_jd(julian_day, calendar)
매개변수(Parameters)
julian_day − 변환하고자 하는 율리우스 일수를 정수(integer) 형태로 지정합니다.
calendar − 적용할 달력 체계를 나타냅니다. 사용 가능한 값은 다음과 같습니다.
CAL_GREGORIAN − 그레고리력(현재 널리 쓰이는 양력)
CAL_JULIAN − 율리우스력
CAL_JEWISH − 유대력
CAL_FRENCH − 프랑스 혁명력
반환값(Return)
cal_from_jd() 함수는 아래와 같은 정보를 담은 배열을 반환합니다.
- date − 날짜 문자열
- month − 월
- day − 일
- year − 연도
- dow − 요일 번호
- abbrevdayname / dayname − 요일 약어 및 전체 이름
- abbrevmonth / monthname − 월 약어 및 전체 이름
사용 예제
다음은 cal_from_jd() 함수의 실제 사용 예입니다.
<?php
$res = unixtojd(mktime(0, 0, 0, 10, 05, 2018));
print_r(cal_from_jd($res, CAL_GREGORIAN));
?>
실행 결과
위 코드를 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.
Array
(
[date] => 10/5/2018
[month] => 10
[day] => 5
[year] => 2018
[dow] => 5
[abbrevdayname] => Wed
[dayname] => Wednesday
[abbrevmonth] => Oct
[monthname] => October
)
코드 설명
위 예제에서는 먼저 mktime() 함수로 2018년 10월 5일 0시 0분 0초에 해당하는 유닉스 타임스탬프를 생성합니다. 이후 unixtojd() 함수를 통해 이 타임스탬프를 율리우스 일수로 변환하고, 최종적으로 cal_from_jd() 함수에 전달하여 그레고리력(CAL_GREGORIAN) 기준의 상세 날짜 정보를 배열로 출력합니다. 결과에서 볼 수 있듯이 날짜, 요일, 월 이름까지 한 번에 얻을 수 있어 달력 계산 로직을 간결하게 구현할 수 있습니다.