IntlDateFormatter::setCalendar

datefmt_set_calendar

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

IntlDateFormatter::setCalendar -- datefmt_set_calendarSets the calendar type used by the formatter

Beschreibung

Objektorientierter Stil

publicIntlDateFormatter::setCalendar(IntlCalendar|int|null$calendar): bool

Prozeduraler Stil

datefmt_set_calendar(IntlDateFormatter$formatter, IntlCalendar|int|null$calendar): bool

Sets the calendar or calendar type used by the formatter.

Parameter-Liste

formatter

The formatter resource.

calendar

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.

Rückgabewerte

Gibt bei Erfolg true zurück. Bei einem Fehler wird false zurückgegeben.

Changelog

VersionBeschreibung
5.5.0/PECL 3.0.0 It became possible to pass an IntlCalendar object.

Beispiele

Beispiel #1 datefmt_set_calendar() 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);
?>

Beispiel #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();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

calendar of the formatter is : 1 Now calendar of the formatter is : 0

Beispiel #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), "\n";


$formatter->setCalendar(IntlCalendar::createInstance(
"America/New_York", "pt_PT@calendar=islamic"));

echo
"after: ", $formatter->format($time), "\n";

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

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

Siehe auch

To Top