Php/docs/intldateformatter.create
IntlDateFormatter::create
datefmt_create
IntlDateFormatter::__construct
(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)
IntlDateFormatter::create -- datefmt_create -- IntlDateFormatter::__construct — Create a date formatter
说明
面向对象风格
public
static
IntlDateFormatter::create
( string $locale
, int $datetype
, int $timetype
[, mixed $timezone
= NULL
[, mixed $calendar
= NULL
[, string $pattern
= ""
]]] ) : IntlDateFormatter
面向对象风格 (constructor)
public
IntlDateFormatter::__construct
( string $locale
, int $datetype
, int $timetype
[, mixed $timezone
= NULL
[, mixed $calendar
= NULL
[, string $pattern
= ""
]]] )
过程化风格
datefmt_create
( string $locale
, int $datetype
, int $timetype
[, mixed $timezone
= NULL
[, mixed $calendar
= NULL
[, string $pattern
= ""
]]] ) : IntlDateFormatter
Create a date formatter.
参数
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. It can also benull
, in which case ICUʼs default date type will be used.timetype
Time type to use (
none
,short
,medium
,long
,full
). This is one of the IntlDateFormatter constants. It can also benull
, in which case ICUʼs default time type will be used.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 » http://userguide.icu-project.org/formatparse/datetime.
更新日志
版本 | 说明 |
---|---|
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 |
范例
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);?>
以上例程会输出:
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
参见
- 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