📅  最后修改于: 2023-12-03 15:18:24.566000             🧑  作者: Mango
The IntlCalendar::__construct()
function is a constructor method in PHP that creates a new IntlCalendar
object. An IntlCalendar
object represents a calendar system.
IntlCalendar::__construct([string $locale = ""[, string $timezone = ""[, string $calendar = ""[, mixed $time = null]]]])
The IntlCalendar::__construct()
function accepts the following parameters:
$locale
: The locale identifier to use. Defaults to an empty string, which means the default system locale is used.$timezone
: The timezone identifier to use. Defaults to an empty string, which means the default system timezone is used.$calendar
: The calendar system to use. Defaults to an empty string, which means the default calendar system for the specified locale is used.$time
: The UNIX timestamp representing the moment in time to be represented by the calendar object. Defaults to null
, which means the current time is used.The IntlCalendar::__construct()
function returns a new IntlCalendar
object, or FALSE
if an error occurs.
IntlCalendar
Object Using the Default Locale and Timezone$calendar = new IntlCalendar();
echo get_class($calendar); // Output: "IntlCalendar"
In this example, we create a new IntlCalendar
object with the default parameters. We then use the get_class()
function to verify that the object is indeed an instance of the IntlCalendar
class.
IntlCalendar
Object with a Specific Locale and Timezone$calendar = new IntlCalendar("en_US", "America/New_York");
echo $calendar->getTimeZone()->getName(); // Output: "America/New_York"
In this example, we create a new IntlCalendar
object with the en_US
locale and the America/New_York
timezone. We then use the getTimeZone()
method to obtain a DateTimeZone
object representing the calendar's time zone, and we use the getName()
method of that object to display the time zone's name.
IntlCalendar
class is part of the Internationalization extension, which must be installed and enabled in order to use the IntlCalendar::__construct()
function.$calendar
parameter can be a string representing the name of a calendar system, such as "gregorian"
or "japanese"
. However, it can also be an integer constant representing a specific calendar system, such as IntlCalendar::TRADITIONAL_CHINESE
or IntlCalendar::JAPAN
. In general, it is recommended to use the string form of the calendar name, as it is more self-explanatory and easier to read.$time
parameter is interpreted differently depending on the calendar system being used. For example, in the Gregorian calendar, it represents the number of seconds since the Unix epoch (January 1, 1970, 00:00:00 UTC), while in the Islamic calendar, it represents the number of days since the start of the Islamic year (1 Muharram 1 AH
).IntlCalendar
object has been created, its state can be modified using various methods such as add()
, set()
, or roll()
. These methods allow developers to perform various calendar-related calculations or manipulations, such as adding or subtracting a certain number of days, months, or years, setting the calendar fields to specific values, or rolling the fields up or down while keeping the other fields constant.