DATEFMT_SET_CALENDAR(3) 1 DATEFMT_SET_CALENDAR(3)
IntlDateFormatter::setCalendar - Sets the calendar type used by the formatter
Object oriented style
SYNOPSIS
bool IntlDateFormatter::setCalendar (mixed $which)
DESCRIPTION
Procedural style
bool datefmt_set_calendar (IntlDateFormatter $fmt, mixed $which)
Sets the calendar or calendar type used by the formatter.
PARAMETERS
o $fmt
- The formatter resource.
o $which
- This can either be: the calendar type to use (default is IntlDateFormatter::GREGORIAN, which is also used if NULL is specified)
or an IntlCalendar object. Any IntlCalendar object passed in will be cloned; no modifications will be made to the argument
object. The timezone of the formatter will only be kept if an IntlCalendar object is not passed, otherwise the new timezone will
be that of the passed object.
RETURN VALUES
Returns TRUE on success or FALSE on failure.
CHANGELOG
+-----------------+---------------------------------------------------+
| Version | |
| | |
| | Description |
| | |
+-----------------+---------------------------------------------------+
|5.5.0/PECL 3.0.0 | |
| | |
| | It became possible to pass an IntlCalendar |
| | object. |
| | |
+-----------------+---------------------------------------------------+
EXAMPLES
Example #1
datefmt_set_calendar(3) example
<?php
$fmt = datefmt_create(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo 'calendar of the formatter is : ' . datefmt_get_calendar($fmt);
datefmt_set_calendar($fmt, IntlDateFormatter::TRADITIONAL);
echo 'Now calendar of the formatter is : ' . datefmt_get_calendar($fmt);
?>
Example #2
OO example
<?php
$fmt = new IntlDateFormatter(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo 'calendar of the formatter is : ' . $fmt->getCalendar();
$fmt->setCalendar(IntlDateFormatter::TRADITIONAL);
echo 'Now calendar of the formatter is : ' . $fmt->getCalendar();
?>
The above example will output:
calendar of the formatter is : 1
Now calendar of the formatter is : 0
Example #3
Example with IntlCalendar argument
<?php
$time = strtotime("2013-03-03 00:00:00 UTC");
$formatter = IntlDateFormatter::create("en_US", NULL, NULL, "Europe/Amsterdam");
echo "before: ", $formatter->format($time), "
";
/* note that the calendar's locale is not used! */
$formatter->setCalendar(IntlCalendar::createInstance(
"America/New_York", "pt_PT@calendar=islamic"));
echo "after: ", $formatter->format($time), "
";
The above example will output:
before: Sunday, March 3, 2013 at 1:00:00 AM Central European Standard Time
after: Saturday, Rabi II 20, 1434 at 7:00:00 PM Eastern Standard Time
SEE ALSO
datefmt_get_calendar(3), datefmt_get_calendar_object(3), datefmt_create(3).
PHP Documentation Group DATEFMT_SET_CALENDAR(3)