Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP cal_from_jd() 함수 – 율리우스 일수를 달력 정보로 변환하기

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) 기준의 상세 날짜 정보를 배열로 출력합니다. 결과에서 볼 수 있듯이 날짜, 요일, 월 이름까지 한 번에 얻을 수 있어 달력 계산 로직을 간결하게 구현할 수 있습니다.