IntlDateFormatter::create
datefmt_create
IntlDateFormatter::__construct
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
IntlDateFormatter::create -- datefmt_create -- IntlDateFormatter::__construct — Create a date formatter
Description
Object-oriented style
?string
$locale
,int
$dateType
= IntlDateFormatter::FULL,int
$timeType
= IntlDateFormatter::FULL,IntlTimeZone|DateTimeZone|string|null
$timezone
= null
,IntlCalendar|int|null
$calendar
= null
,?string
$pattern
= null
): ?IntlDateFormatter
Object-oriented style (constructor)
?string
$locale
,int
$dateType
= IntlDateFormatter::FULL,int
$timeType
= IntlDateFormatter::FULL,IntlTimeZone|DateTimeZone|string|null
$timezone
= null
,IntlCalendar|int|null
$calendar
= null
,?string
$pattern
= null
)
Procedural style
?string
$locale
,int
$dateType
= IntlDateFormatter::FULL,int
$timeType
= IntlDateFormatter::FULL,IntlTimeZone|DateTimeZone|string|null
$timezone
= null
,IntlCalendar|int|null
$calendar
= null
,?string
$pattern
= null
): ?IntlDateFormatter
Create a date formatter.
Parameters
-
locale
-
Locale to use when formatting or parsing or
null
to use the value specified in the ini setting intl.default_locale. -
dateType
-
Date type to use (
none
,short
,medium
,long
,full
). This is one of the IntlDateFormatter constants. -
timeType
-
Time type to use (
none
,short
,medium
,long
,full
). This is one of the IntlDateFormatter constants. -
timezone
-
Time zone ID. The default (and the one used if
null
is given) is the one returned by date_default_timezone_get() or, if applicable, that of the IntlCalendar object passed for thecalendar
parameter. This ID must be a valid identifier on ICUʼs database or an ID representing an explicit offset, such asGMT-05:30
.This can also be an IntlTimeZone or a DateTimeZone object.
-
calendar
-
Calendar to use for formatting or parsing. The default value is
null
, which corresponds toIntlDateFormatter::GREGORIAN
. This can either be one of the IntlDateFormatter calendar constants or an IntlCalendar. Any IntlCalendar object passed will be clone; it will not be changed by the IntlDateFormatter. This will determine the calendar type used (gregorian, islamic, persian, etc.) and, ifnull
is given for thetimezone
parameter, also the timezone used. -
pattern
-
Optional pattern to use when formatting or parsing. Possible patterns are documented at » https://unicode-org.github.io/icu/userguide/format_parse/datetime/.
Return Values
The created IntlDateFormatter or null
in case of
failure.
Changelog
Version | Description |
---|---|
5.5.0/PECL 3.0.0 |
An IntlCalendar object is allowed for
Objects of type IntlTimeZone and
DateTimeZone are allowed for
Invalid timezone identifiers (including empty strings) are no longer
allowed for
If |
Examples
Example #1 datefmt_create() example
<?php
$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles', IntlDateFormatter::GREGORIAN );
echo "First Formatted output is ".datefmt_format( $fmt , 0);
$fmt = datefmt_create( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles',IntlDateFormatter::GREGORIAN );
echo "Second Formatted output is ".datefmt_format( $fmt , 0);
$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles',IntlDateFormatter::GREGORIAN ,"MM/dd/yyyy");
echo "First Formatted output with pattern is ".datefmt_format( $fmt , 0);
$fmt = datefmt_create( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles',IntlDateFormatter::GREGORIAN ,"MM/dd/yyyy");
echo "Second Formatted output with pattern is ".datefmt_format( $fmt , 0);
?>
Example #2 OO example
<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles',IntlDateFormatter::GREGORIAN );
echo "First Formatted output is ".$fmt->format(0);
$fmt = new IntlDateFormatter( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles',IntlDateFormatter::GREGORIAN );
echo "Second Formatted output is ".$fmt->format(0);
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles',IntlDateFormatter::GREGORIAN ,"MM/dd/yyyy");
echo "First Formatted output with pattern is ".$fmt->format(0);
$fmt = new IntlDateFormatter( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles',IntlDateFormatter::GREGORIAN , "MM/dd/yyyy");
echo "Second Formatted output with pattern is ".$fmt->format(0);
?>
The above example will output:
First Formatted output is Wednesday, December 31, 1969 4:00:00 PM PT Second Formatted output is Mittwoch, 31. Dezember 1969 16:00 Uhr GMT-08:00 First Formatted output with pattern is 12/31/1969 Second Formatted output with pattern is 12/31/1969
See Also
- datefmt_format() - Format the date/time value as a string
- datefmt_parse() - Parse string to a timestamp value
- datefmt_get_error_code() - Get the error code from last operation
- datefmt_get_error_message() - Get the error text from the last operation