PHP.mk документација

IntlDateFormatter::create

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

intldateformatter.create.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека intldateformatter.create.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
IntlDateFormatter::create

Референца за `intldateformatter.create.php` со подобрена типографија и навигација.

intldateformatter.create.php

IntlDateFormatter::create

datefmt_create

IntlDateFormatter::__construct

Класата Collator

IntlDateFormatter::create -- datefmt_create -- IntlDateFormatter::__constructCreate a date formatter

= NULL

Напиши целосна ознака на елемент

public static function IntlDateFormatter::create(
         ?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

Креирај форматирач на датум

public function IntlDateFormatter::__construct(
         ?string $locale,
         int $dateType = IntlDateFormatter::FULL,
         int $timeType = IntlDateFormatter::FULL,
         IntlTimeZone|DateTimeZone|string|null $timezone = null,
         IntlCalendar|int|null $calendar = null,
         ?string $pattern = null
)

Процедурален стил

function datefmt_create(
         ?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

Обектно-ориентиран стил (конструктор)

Параметри

locale

Креирај форматирач на датум. null Локалитет што ќе се користи при форматирање или парсирање или intl.default_locale.

dateType

за користење на вредноста специфицирана во ini поставката Форматот на датумот определен од еден одСпецифицира каков тип на приватен клуч да се креира. Ова може да биде еден од IntlDateFormatter::FULL.

timeType

IntlDateFormatter константите Форматот на датумот определен од еден одСпецифицира каков тип на приватен клуч да се креира. Ова може да биде еден од IntlDateFormatter::FULL.

timezone

Форматот на времето определен од еден од null ID на временската зона. Стандардното (и она што се користи ако date_default_timezone_get() е дадено) е она што го враќа IntlCalendar или, ако е применливо, она на calendar објектот предаден за GMT-05:30.

параметарот. Ова ID мора да биде валиден идентификатор во базата на податоци на ICU или ID што претставува експлицитно поместување, како што е IntlTimeZone или DateTimeZone object.

calendar

Ова исто така може да биде nullКалендар што ќе се користи за форматирање или парсирање. Стандардната вредност е IntlDateFormatter::GREGORIAN, што одговара на . Ова може да биде една од или IntlCalendarIntlDateFormatter календарските константи IntlCalendar . Секој IntlDateFormatter. Ова ќе го одреди типот на календарот што се користи (грегоријански, исламски, персиски, итн.) и, ако null е дадено за timezone параметарот, исто така и временската зона што се користи.

pattern

Опционален образец за користење при форматирање или парсирање. Можните обрасци се документирани на » https://unicode-org.github.io/icu/userguide/format_parse/datetime/.

Вратени вредности

Креираното IntlDateFormatter or null во случај на неуспех.

Errors/Exceptions

А ValueError се фрла ако locale е невалидна. Пред PHP 8.4.0, невалиден режим би се прифатил тивко како

Дневник на промени

Верзија = NULL
8.4.0 А ValueError се фрла ако locale е невалидна. Пред PHP 8.4.0, невалиден режим би се прифатил тивко како
8.1.0

Параметри dateType and timeType се сега опционални.

Примери

Пример #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);
?>

Пример #2 OO пример

<?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);
?>

Пример #3 Пример за ракување со неважечки локал

<?php
try {
$fmt = new IntlDateFormatter(
'invalid_locale',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'dunno',
IntlDateFormatter::GREGORIAN,
);
} catch (
\Error $e) {
// ...
}
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

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

Види Исто така

Белешки од корисници 5 белешки

orrd101 at gmail dot com
пред 14 години
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:

<?php
$now = new DateTime();    //DateTime is a core PHP class as of version 5.2.0

$formatter = new IntlDateFormatter('ja_JP', IntlDateFormatter::FULL,
        IntlDateFormatter::FULL, 'Asia/Tokyo', IntlDateFormatter::GREGORIAN);

echo 'It is now: "' . $formatter->format($now) . '" in Tokyo' . "\n";
//above gives [It is now: "2011年8月19日金曜日 23時32分27秒JST" in Tokyo]

$formatter = new IntlDateFormatter('ja_JP@calendar=japanese', IntlDateFormatter::FULL,
        IntlDateFormatter::FULL, 'Asia/Tokyo', IntlDateFormatter::TRADITIONAL);

echo 'It is now: "' . $formatter->format($now) . '" in Tokyo' . "\n";
//above gives [It is now: "平成23年8月19日金曜日 23時32分27秒JST" in Tokyo]
?>
mikko точка rantalainen на peda точка net
пред 14 години
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".
Анонимен
пред 7 години
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".
info на mobger точка de
3 години пред
The $locale can although contain the information about the calendar

<?php
//...
        $traditionalFormatter  =  new IntlDateFormatter(
            $locale.'@calendar='.$calendar,
            IntlDateFormatter::SHORT,
            IntlDateFormatter::SHORT,
            'Europe/Berlin',
            IntlDateFormatter::TRADITIONAL,
            'yyyy/MM/dd HH:mm:ss' // ICU-datetime-format
        );
//..
?>

To get the allowed values for $calendar, use the following code:

<?php
$bundle=new ResourceBundle('','ICUDATA');
$cnames=[];
$calendars=$bundle->get('calendar');
foreach($calendars as $n=>$v){
    $cnames[]=$n;
}
echo (print_r($cnames,true));

?>

The result is:
Array
(
    [0] => buddhist
    [1] => chinese
    [2] => coptic
    [3] => dangi
    [4] => default
    [5] => ethiopic
    [6] => ethiopic-amete-alem
    [7] => gregorian
    [8] => hebrew
    [9] => indian
    [10] => islamic
    [11] => islamic-civil
    [12] => japanese
    [13] => persian
    [14] => roc
)
Панџали
пред 4 години
Just to be clear, to use any non-gregorian calendar:

a. The locale must be in the form of locale@calendar=calendar-name

b. The calendar must use the intlDateFormatter::TRADITIONAL constant, or an intlCalendar object created with a locale as specified in a.
 
The calendar name can be 'gregorian', even if the intlDateFormatter::TRADITIONAL constant is used, which makes for a more generic code approach.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.