Spec-Zone.ru › CakePHP 3.6

Трейт DateFormatTrait

Трейт для методов форматирования дат, используемых как в Time, так и в Date.

Этот трейт предполагает, что реализующий класс определит статический член static::$_toStringFormat.

Прямые пользователи

  • Cake\I18n\Date
  • Cake\I18n\FrozenDate
  • Cake\I18n\FrozenTime
  • Cake\I18n\Time
Пространство имён: Cake\I18n
Расположение: I18n/DateFormatTrait.php

Краткое описание свойств

  • $_formatters protected static
    IntlDateFormatter[]
    Кэш форматировщиков дат в памяти
  • $_isDateInstance protected static
    boolean
    Кэширует, является ли данный класс подклассом Date или MutableDate
  • $_jsonEncodeFormat protected static
    string|array|integer
    Формат, используемый при преобразовании объекта в JSON
  • $defaultLocale public static
    string
    По умолчанию используется локаль для отображения отформатированных строк даты.

Краткое описание методов

  • __debugInfo() public
    Возвращает данные, которые должны быть отображены при отладке объекта
  • __toString() public
  • _formatObject() protected

    Возвращает переведённую и локализованную строку даты. Реализует функционал IntlDateFormatter::formatObject() для PHP 5.5+

  • diffFormatter() public static
    Получить или перезаписать текущий экземпляр форматировщика разницы.
  • getDefaultLocale() public static
    Получить локаль по умолчанию.
  • i18nFormat() public

    Возвращает отформатированную строку для объекта времени, используя предпочтительный формат и язык для указанной локали.

  • jsonSerialize() public
    Возвращает строку, которая должна быть сериализована при преобразовании объекта в JSON
  • nice() public
    Возвращает отформатированную строку даты для этого объекта.
  • parseDate() public static

    Возвращает новый объект Time после анализа переданной строки $date, основываясь на переданном или настроенном формате даты и времени. Этот метод зависит от локали, любая строка, переданная в эту функцию, будет интерпретирована как строка, зависящая от локали.

  • parseDateTime() public static

    Возвращает новый объект Time после анализа переданной строки времени, основываясь на переданном или настроенном формате даты и времени. Этот метод зависит от локали, любая строка, переданная в эту функцию, будет интерпретирована как строка, зависящая от локали.

  • parseTime() public static

    Возвращает новый объект Time после анализа переданной строки $time, основываясь на переданном или настроенном формате даты и времени. Этот метод зависит от локали, любая строка, переданная в эту функцию, будет интерпретирована как строка, зависящая от локали.

  • resetToStringFormat() public static

    Сбрасывает формат до значения по умолчанию при преобразовании экземпляра этого типа в строку

  • setDefaultLocale() public static
    Устанавливает локаль по умолчанию.
  • setJsonEncodeFormat() public static
    Устанавливает формат по умолчанию при преобразовании объекта в JSON
  • setToStringFormat() public static
    Устанавливает формат по умолчанию при преобразовании экземпляров этого типа в строку

Подробное описание методов

__debugInfo()source public

__debugInfo( )

Возвращает данные, которые должны быть отображены при отладке объекта

Возвращает

массив

__toString()source public

__toString( )

_formatObject()source protected

_formatObject( DateTime $date , string|integer|array $format , string $locale )

Возвращает переведённую и локализованную строку даты. Реализует функционал IntlDateFormatter::formatObject() для PHP 5.5+

Параметры

DateTime $date
Дата.
string|integer|array $format
Формат.
string $locale
Имя локали, в которой должна быть отображена дата.

Возвращает

строка

diffFormatter()source public static

diffFormatter( Cake\I18n\RelativeTimeFormatter|null $formatter = null )

Получить или перезаписать текущий экземпляр форматировщика разницы.

Параметры

Cake\I18n\RelativeTimeFormatter|null $formatter optional null
Экземпляр форматировщика при установке.

Возвращает

Cake\I18n\RelativeTimeFormatter
Экземпляр форматировщика.

getDefaultLocale()source public static

getDefaultLocale( )

Получить локаль по умолчанию.

Возвращает

строка|null
Строка локали по умолчанию или null.

i18nFormat()source public

i18nFormat( string|integer|null $format = null , string|DateTimeZone|null $timezone = null , string|null $locale = null )

Возвращает отформатированную строку для объекта времени, используя предпочтительный формат и язык для указанной локали.

Можно указать желаемый формат для отображаемой строки. Можно передать константы IntlDateFormatter в качестве первого аргумента этой функции, или передать полную строку форматирования ICU, как указано в следующем ресурсе: http://www.icu-project.org/apiref/icu4c/classSimpleDateFormat.html#details.

В дополнение к константам IntlDateFormatter и строкам форматирования даты можно использовать Time::UNIX_TIMESTAMP_FORMAT для получения отметки времени Unix

Примеры

$time = new Time('2014-04-20 22:10');
$time->i18nFormat(); // outputs '4/20/14, 10:10 PM' for the en-US locale
$time->i18nFormat(\IntlDateFormatter::FULL); // Use the full date and time format
$time->i18nFormat([\IntlDateFormatter::FULL, \IntlDateFormatter::SHORT]); // Use full date but short time format
$time->i18nFormat('yyyy-MM-dd HH:mm:ss'); // outputs '2014-04-20 22:10'
$time->i18nFormat(Time::UNIX_TIMESTAMP_FORMAT); // outputs '1398031800'

Если нужно управлять форматом по умолчанию для этого метода, можно изменить значение статического Time::$defaultLocale переменной и установить его на один из возможных форматов, принимаемых этой функцией.

Подробнее о доступных константах IntlDateFormatter можно узнать на https://secure.php.net/manual/en/class.intldateformatter.php

Если нужно отобразить дату в другом часовом поясе, чем используемый для объекта Time, без изменения его внутреннего состояния, можно передать строку или объект часового пояса как второй параметр.

Наконец, если нужно использовать другую локаль для отображения объекта времени, передайте строку локали как третий параметр этой функции.

Примеры

$time = new Time('2014-04-20 22:10');
$time->i18nFormat(null, null, 'de-DE');
$time->i18nFormat(\IntlDateFormatter::FULL, 'Europe/Berlin', 'de-DE');

Можно управлять локальностью по умолчанию, задав статическую переменную Time::$defaultLocale на корректную строку локали. Если пустая, то по умолчанию будет взята из ini конфига intl.default_locale.

Параметры

string|integer|null $format optional null
Строка формата.
string|DateTimeZone|null $timezone optional null

Строка или объект DateTimeZone часового пояса, в котором будет отображена дата. Часовой пояс, сохранённый для этого объекта, не будет изменён.

string|null $locale optional null
Имя локали для отображения даты (например, pt-BR)

Возвращает

строка|целое число
Отформатированная и переведённая строка даты
END_OF_DOCUMENT_MARKER

jsonSerialize()source public

jsonSerialize( )

Возвращает строку, которая должна быть сериализована при преобразовании этого объекта в json

Возвращает

string

nice()source public

nice( string|DateTimeZone|null $timezone = null , string|null $locale = null )

Возвращает отформатированную строку даты для этого объекта.

Используемый формат хранится в статическом свойстве Time::niceFormat.

Параметры

string|DateTimeZone|null $timezone опционально null

Строка часового пояса или объект DateTimeZone, в котором будет отображаться дата. Часовой пояс, сохранённый для этого объекта, не изменится.

string|null $locale опционально null
Имя локали, в которой должна быть отображена дата (например, pt-BR)

Возвращает

string
Отформатированная строка даты

parseDate()source public static

parseDate( string $date , string|integer|null $format = null )

Возвращает новый объект Time после анализа предоставленной строки $date, основываясь на переданном или настроенном формате даты и времени. Этот метод зависит от локали, любая строка, переданная в эту функцию, будет интерпретироваться как строка, зависящая от локали.

Если $format не указан, используется формат wordFormat.

Если невозможно обработать предоставленное время, возвращается null.

Пример:

$time = Time::parseDate('10/13/2013');
 $time = Time::parseDate('13 Oct, 2013', 'dd MMM, y');
 $time = Time::parseDate('13 Oct, 2013', IntlDateFormatter::SHORT);

Параметры

string $date
Строка даты для анализа.
string|integer|null $format опционально null
Любой формат, поддерживаемый IntlDateFormatter.

Возвращает

Cake\I18n\DateFormatTrait|null

parseDateTime()source public static

parseDateTime( string $time , string|array|null $format = null )

Возвращает новый объект Time после анализа предоставленной строки времени, основываясь на переданном или настроенном формате даты и времени. Этот метод зависит от локали, любая строка, переданная в эту функцию, будет интерпретироваться как строка, зависящая от локали.

Если $format не указан, используется формат toString.

Если невозможно обработать предоставленное время, возвращается null.

Пример:

$time = Time::parseDateTime('10/13/2013 12:54am');
 $time = Time::parseDateTime('13 Oct, 2013 13:54', 'dd MMM, y H:mm');
 $time = Time::parseDateTime('10/10/2015', [IntlDateFormatter::SHORT, -1]);

Параметры

string $time
Строка времени для анализа.
string|array|null $format опционально null
Любой формат, поддерживаемый IntlDateFormatter.

Возвращает

Cake\I18n\DateFormatTrait|null

parseTime()source public static

parseTime( string $time , string|integer|null $format = null )

Возвращает новый объект Time после анализа предоставленной строки $time, основываясь на переданном или настроенном формате даты и времени. Этот метод зависит от локали, любая строка, переданная в эту функцию, будет интерпретироваться как строка, зависящая от локали.

Если $format не указан, используется формат IntlDateFormatter::SHORT.

Если невозможно обработать предоставленное время, возвращается null.

Пример:

$time = Time::parseTime('11:23pm');

Параметры

string $time
Строка времени для анализа.
string|integer|null $format опционально null
Любой формат, поддерживаемый IntlDateFormatter.

Возвращает

Cake\I18n\DateFormatTrait|null

resetToStringFormat()source public static

resetToStringFormat( )

Сбрасывает формат на значение по умолчанию при преобразовании экземпляра этого типа в строку

setDefaultLocale()source public static

setDefaultLocale( string|null $locale = null )

Устанавливает локаль по умолчанию.

Параметры

string|null $locale опционально null
Строка локали по умолчанию для использования или null.

setJsonEncodeFormat()source public static

setJsonEncodeFormat( string|array|integer $format )

Устанавливает формат по умолчанию, используемый при преобразовании этого объекта в json

Параметры

string|array|integer $format
Формат.

setToStringFormat()source public static

setToStringFormat( string|array|integer $format )

Устанавливает формат по умолчанию, используемый при преобразовании экземпляров этого типа в строку

Параметры

string|array|integer $format
Формат.

Подробное описание свойств

$_formatterssource

protected static IntlDateFormatter[]

Кэширование форматеров дат

[]

$_isDateInstancesource

protected static boolean

Кэширует, является ли этот класс подклассом Date или MutableDate

$_jsonEncodeFormatsource

protected static string|array|integer

Формат для использования при преобразовании этого объекта в json

Формат должен быть либо константами форматирования из IntlDateFormatter, как описано в (https://secure.php.net/manual/en/class.intldateformatter.php), либо шаблоном, как указано в (http://www.icu-project.org/apiref/icu4c/classSimpleDateFormat.html#details)

Возможна передача массива из 2 констант. В этом случае первая позиция будет использоваться для форматирования части даты объекта, а вторая позиция – для форматирования части времени.

См. также

\Cake\I18n\Time::i18nFormat()
"yyyy-MM-dd'T'HH:mm:ssxxx"

$defaultLocalesource

public static string

Локаль по умолчанию для отображения отформатированных строк дат.

Устарело

3.2.9 Используйте static::setDefaultLocale() и static::getDefaultLocale() вместо этого.

© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.6/class-Cake.I18n.DateFormatTrait.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API