首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

IntlDateFormatter::create

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

IntlDateFormatter::create -- datefmt_create -- IntlDateFormatter::__construct — Create a date formatter

Description

Object oriented style

代码语言:javascript
复制
public static IntlDateFormatter IntlDateFormatter::create ( string $locale , int $datetype , int $timetype [, mixed $timezone = NULL [, mixed $calendar = NULL [, string $pattern = "" ]]] )

Object oriented style (constructor)

public IntlDateFormatter::__construct ( string $locale , int $datetype , int $timetype [, mixed $timezone = NULL [, mixed $calendar = NULL , string $pattern = "" ]] )

Procedural style

代码语言:javascript
复制
IntlDateFormatter datefmt_create ( string $locale , int $datetype , int $timetype [, mixed $timezone = NULL [, mixed $calendar = NULL [, string $pattern = "" ]]] )

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. It can also be NULL, 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 be NULL, 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 the calendar parameter. This ID must be a valid identifier on ICU?s database or an ID representing an explicit offset, such as GMT-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 timezone 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.

Return Values

The created IntlDateFormatter or FALSE in case of failure.

Changelog

Version

Description

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 NULL is given for timezone, the timezone identifier given by date_default_timezone_get() will be used instead of ICU?s default.

Examples

Example #1 datefmt_create() example

代码语言:javascript
复制
<?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

代码语言:javascript
复制
<?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:

代码语言:javascript
复制
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.

← IntlDateFormatter

IntlDateFormatter::format →

代码语言:txt
复制
 ? 1997–2017 The PHP Documentation Group

Licensed under the Creative Commons Attribution License v3.0 or later.

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com