IntlDateFormatter::create() - IntlDateFormatter类
IntlDateFormatter::create()
datefmt_create
IntlDateFormatter::__construct
(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)
Create a date formatter
说明
面向对象风格publicstaticIntlDateFormatter::create(string $locale,int $datetype,int $timetype[,mixed $timezone= NULL[,mixed $calendar= NULL[,string $pattern= ""]]]): IntlDateFormatter
面向对象风格(constructor)
publicIntlDateFormatter::__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.
Date type to use(none
,short
,medium
,long
,full
). This is one of the IntlDateFormatter constants. It can also be NULL
, in which case ICUʼs default date type will be used.
Time type to use(none
,short
,medium
,long
,full
). This is one of the IntlDateFormatter constants. It can also be NULL
, in which case ICUʼs default time type will be used.
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 the$calendarparameter. 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 to IntlDateFormatter::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, if NULL
is given for the$timezoneparameter, also the timezone used.
Optional pattern to use when formatting or parsing. Possible patterns are documented at » http://userguide.icu-project.org/formatparse/datetime.
返回值
The created IntlDateFormatter or FALSE
in case of failure.
更新日志
版本 | 说明 |
---|---|
5.5.0/PECL 3.0.0 | An IntlCalendar object is allowed for$calendar. Objects of type IntlTimeZone and DateTimeZone are allowed for$timezone. Invalid timezone identifiers(including empty strings)are no longer allowed for$timezone. If |
范例
datefmt_create() example
OO example
以上例程会输出:
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
It should be noted that the locale string passed into IntlDateFormatter's constructor supports UCA keywords. So you can, for example, do things like this to output the year as a Japanese era year:
The documentation says that $datetype and $timetype can also be NULL, in which case ICUʼs default date type or time type will be used. But when declare (strict_types=1); is also set, Intl fails to create the IntlDateFormatter class, and it returns an error "datefmt_create: unable to parse input parameters".
Documentation says "timezone: Time zone ID, default is system default." The "system default" really means only the "TZ" environment variable on Unix/Linux systems. It does not mean PHP ini setting or value set via date_default_timezone_set() or the OS default time zone in file "/etc/timezone".
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!