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 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

Object-oriented style (constructor)

public 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
)

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

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

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

Format of the date determined by one of the IntlDateFormatter constantsСпецифицира каков тип на приватен клуч да се креира. Ова може да биде еден од IntlDateFormatter::FULL.

timeType

Format of the time determined by one of the IntlDateFormatter constantsСпецифицира каков тип на приватен клуч да се креира. Ова може да биде еден од IntlDateFormatter::FULL.

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 или 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 или IntlCalendar. Any IntlCalendar object passed will be clone; it will not be changed by the 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
пред 13 години
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.