Làm thế nào để chuyển đổi ngày trong lịch cụ thể sang Julian Day Count trong PHP?
Để chuyển đổi ngày trong lịch cụ thể sang Julian Day Count trong PHP, chúng ta có thể sử dụng hàm cal_to_jd
của PHP. Hàm này có cú pháp như sau:
cal_to_jd($calendar, $month, $day, $year);
Trong đó:
- $calendar
: là mã số của lịch cần chuyển đổi. Ví dụ: CAL_GREGORIAN
cho lịch Gregory, CAL_JULIAN
cho lịch Julian, CAL_JEWISH
cho lịch Do Thái, CAL_FRENCH
cho lịch Pháp, vv.
- $month
: là tháng cần chuyển đổi (từ 1 đến 12).
- $day
: là ngày cần chuyển đổi (từ 1 đến 31).
- $year
: là năm cần chuyển đổi.
Ví dụ, để chuyển đổi ngày 25/12/2021 trong lịch Gregory sang Julian Day Count, chúng ta có thể sử dụng đoạn mã sau:
$jd = cal_to_jd(CAL_GREGORIAN, 12, 25, 2021);
echo $jd; // kết quả: 2459599
Ngoài ra, chúng ta cũng có thể sử dụng lớp DateTime
của PHP để chuyển đổi ngày sang Julian Day Count. Ví dụ:
$date = new DateTime('2021-12-25', new DateTimeZone('UTC'));
$jd = $date->format('U') / 86400 + 2440587.5;
echo $jd; // kết quả: 2459599
Trong đó, $date->format('U')
trả về số giây tính từ Epoch (1/1/1970), chia cho 86400 để tính số ngày, và cộng thêm 2440587.5 để chuyển đổi sang Julian Day Count.