Content · Programming · PHP

PHP cal_to_jd() Function: Usage and Examples

Learn how PHP cal_to_jd works with practical examples, important behavior, relevant alternatives and common mistakes.

1 views Published Oct 16, 2026 Updated Oct 16, 2026

Converts a date in a supported calendar into a Julian day number.

What Is cal_to_jd() in PHP?

Converts a date in a supported calendar into a Julian day number.

Its syntax is:

cal_to_jd(int $calendar, int $month, int $day, int $year): int

Parameters:

  • $calendar — Accepted as int; required argument.
  • $month — Accepted as int; required argument.
  • $day — Accepted as int; required argument.
  • $year — Accepted as int; required argument.

Return type: int. Validate input dates separately; day-number conversion should not be used as a replacement for validation.

Availability: Requires the calendar extension.

Example 1: Basic Usage

<?php

echo cal_to_jd(CAL_GREGORIAN, 1, 1, 2025);

Output:

2460677

Validate input dates separately; day-number conversion should not be used as a replacement for validation.

Example 2: A Different Input

<?php

echo cal_to_jd(CAL_GREGORIAN, 12, 31, 2025);

Output:

2461041

Validate input dates separately; day-number conversion should not be used as a replacement for validation.

Practical Example: Applying It in a Program

<?php

$firstDay = cal_to_jd(CAL_GREGORIAN, 1, 1, 2025); $lastDay = cal_to_jd(CAL_GREGORIAN, 1, 31, 2025); echo $lastDay - $firstDay;

Output:

30

Validate input dates separately; day-number conversion should not be used as a replacement for validation.

Important Behavior and Edge Cases

  • Key behavior: Validate input dates separately; day-number conversion should not be used as a replacement for validation.
  • Environment: Requires the calendar extension.

Comparison With Related Functions

FunctionPurpose
cal_to_jd()Converts a date in a supported calendar into a Julian day number.
cal_from_jd()cal_from_jd() decodes a Julian day; cal_to_jd() encodes calendar date components.

Common Beginner Mistakes

MistakeCorrect Approach
Ignoring this behavior: Validate input dates separately; day-number conversion should not be used as a replacement for validationValidate input dates separately; day-number conversion should not be used as a replacement for validation.

Key Takeaways

  • Converts a date in a supported calendar into a Julian day number.
  • Validate input dates separately; day-number conversion should not be used as a replacement for validation.
  • Requires the calendar extension.

Summary: Validate input dates separately; day-number conversion should not be used as a replacement for validation.

Share this resourceSend this page to someone who may find it useful.