When you need to retrieve a numeric field from a calendar, it helps to understand both the normal result and what changes with different inputs. This guide focuses on practical examples rather than repeating PHP background material.
IntlCalendar::get provides the behavior described below. IntlCalendar represents a locale-aware ICU calendar. Month indexes are zero-based, while epoch time uses milliseconds.
What Is IntlCalendar::get in PHP?
Retrieve a numeric field from a calendar. IntlCalendar represents a locale-aware ICU calendar. Month indexes are zero-based, while epoch time uses milliseconds.
Its syntax is:
$calendar->get(...)
Parameters and return value: Read the argument names and optional values in the signature above. Methods use an existing object, while stand-alone functions take direct arguments. The examples demonstrate the relevant arguments and the value returned or the object modified.
Important: FIELD_MONTH is zero-based in this API, unlike human month numbers.
Example 1: Basic Usage
This first example demonstrates how to retrieve a numeric field from a calendar with a small input.
<?php
$calendar = IntlCalendar::createInstance("UTC", "en_US");
echo $calendar->get(IntlCalendar::FIELD_YEAR);
The example uses the simplest useful form. IntlCalendar represents a locale-aware ICU calendar. Month indexes are zero-based, while epoch time uses milliseconds. The output may depend on the active ICU locale, PHP configuration, or input supplied to the function.
Example 2: Another Case
Here the input or option changes, making it easier to see where the behavior differs. FIELD_MONTH is zero-based in this API, unlike human month numbers.
<?php
$calendar = IntlCalendar::createInstance("UTC", "en_US");
echo $calendar->get(IntlCalendar::FIELD_MONTH);
Compare the result to the first example. DateTimeImmutable is often simpler for Gregorian dates; IntlCalendar is useful for ICU calendar systems.
Practical Example: Applying the Function
This standalone example shows how the same operation fits into a small application task. The intl extension is required for this example.
<?php
$calendar = IntlCalendar::createInstance("UTC", "en_US");
$calendar->set(2026, 9, 16);
echo "Year: " . $calendar->get(IntlCalendar::FIELD_YEAR);
The example keeps the operation visible and gives you a starting point for using it in an application. FIELD_MONTH is zero-based in this API, unlike human month numbers.
Important Behavior and Edge Cases
- Core behavior: IntlCalendar represents a locale-aware ICU calendar. Month indexes are zero-based, while epoch time uses milliseconds.
- Return value: Check the result separately from changes to passed-in arrays, iterators, or object state.
- Data constraints: FIELD_MONTH is zero-based in this API, unlike human month numbers.
- Environment: The intl extension is required for this example.
Comparison With Related Functions
| Function or Approach | When to Use It |
|---|---|
IntlCalendar::get | Retrieve a numeric field from a calendar. |
| Related PHP APIs | DateTimeImmutable is often simpler for Gregorian dates; IntlCalendar is useful for ICU calendar systems. |
Common Beginner Mistakes
| Mistake | Correct Approach |
|---|---|
| Assuming the function works on every kind of input | Follow the declared argument types and check the input format before calling it. |
| Ignoring the behavior of the result | FIELD_MONTH is zero-based in this API, unlike human month numbers. |
| Using the wrong related PHP API | DateTimeImmutable is often simpler for Gregorian dates; IntlCalendar is useful for ICU calendar systems. |
Key Takeaways
IntlCalendar::gethelps you retrieve a numeric field from a calendar.- IntlCalendar represents a locale-aware ICU calendar. Month indexes are zero-based, while epoch time uses milliseconds.
- FIELD_MONTH is zero-based in this API, unlike human month numbers.
- DateTimeImmutable is often simpler for Gregorian dates; IntlCalendar is useful for ICU calendar systems.
IntlCalendar::get is useful when you need to retrieve a numeric field from a calendar. Start with the small examples, then adapt the practical example while respecting its input and environment requirements.