Spec-Zone.ru › CakePHP 3.8

Класс FrozenDate

Расширяет класс Date, предоставленный Chronos.

Добавляет удобные методы и помощники форматирования, учитывающие локаль

Этот объект предоставляет неизменяемый вариант Cake\I18n\Date

Cake\Chronos\Date
Расширено Cake\I18n\FrozenDate реализует JsonSerializable использует Cake\I18n\DateFormatTrait
Пространство имён: Cake\I18n
Расположение: I18n/FrozenDate.php

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

  • $_toStringFormat protected static
    string|array|integer

    Формат, используемый при форматировании времени с помощью Cake\I18n\Date::i18nFormat() и __toString. Этот формат также используется parseDateTime().

  • $niceFormat public static
    string|array|integer
    Формат, используемый при форматировании времени с помощью Cake\I18n\Date::nice()
  • $wordAccuracy public static
    array

    Формат, используемый при форматировании времени с помощью Date::timeAgoInWords() и разница меньше Date::$wordEnd

  • $wordEnd public static
    string
    Конец относительного времени
  • $wordFormat public static
    string|array|integer

    Формат, используемый при форматировании времени с помощью Cake\I18n\Date::timeAgoInWords() и разница больше, чем Cake\I18n\Date::$wordEnd

Унаследованные свойства

  • _formatters, _isDateInstance, _jsonEncodeFormat, defaultLocale

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

  • timeAgoInWords() public

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

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

timeAgoInWords()source public

timeAgoInWords( array $options = [] )

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

Параметры:

  • from => другой объект Date, представляющий текущую дату
  • format => резервный формат, если относительное время больше, чем указанный интервал
  • accuracy => Указывает, насколько точно должна описываться дата (массив)
    • year => Формат, если год > 0 (по умолчанию "день")
    • month => Формат, если месяц > 0 (по умолчанию "день")
    • week => Формат, если недель > 0 (по умолчанию "день")
    • day => Формат, если недель > 0 (по умолчанию "день")
  • end => Конец относительной даты
  • relativeString => Строка, совместимая с printf, при выводе относительной даты
  • absoluteString => Строка, совместимая с printf, при выводе абсолютной даты
  • timezone => Часовой пояс пользователя, в котором должен быть отформатирован отметка времени.

Относительные даты выглядят примерно так:

  • 3 недели, 4 дня назад
  • 1 день назад

По умолчанию форматирование даты - d/M/YY, например: 18/02/09. Форматирование выполняется внутренне с помощью i18nFormat, см. метод для допустимых строк форматирования.

Возвращаемая строка включает «назад» или «в» и предполагает, что вы правильно добавите слово, например, «Опубликовано» перед выводом функции.

ПРИМЕЧАНИЕ: Если разница составляет одну неделю или более, то точность на уровне дня.

Параметры

массив $options необязательный []
Массив параметров.

Возвращаемое значение

строка
Строка относительного времени.

Используемые методы из Cake\I18n\DateFormatTrait

__debugInfo()source public

__debugInfo( )

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

Возвращаемое значение

массив

__toString()source public

__toString( )

_formatObject()source protected

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

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

Параметры

DateTime $date
Дата.
строка|целое число|массив $format
Формат.
строка|null $locale
Имя локали, в которой должна отображаться дата.

Возвращаемое значение

строка

diffFormatter()source public static

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

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

Параметры

Cake\I18n\RelativeTimeFormatter|null $formatter необязательный 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::setToStringFormat().

Вы можете ознакомиться с доступными константами IntlDateFormatter на https://secure.php.net/manual/en/class.intldateformatter.php

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

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

Примеры

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

Вы можете управлять локальностью по умолчанию с помощью Time::setDefaultLocale(). Если она пустая, значение будет взято из конфигурации ini intl.default_locale.

Параметры

строка|целое число|null $format необязательный null
Строка форматирования.
строка|DateTimeZone|null $timezone необязательный null

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

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

Возвращаемое значение

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

jsonSerialize()source public

jsonSerialize( )

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

Возвращаемое значение

строка

nice()source public

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

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

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

Параметры

строка|DateTimeZone|null $timezone необязательный null

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

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

Возвращаемое значение

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

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

Параметры

строка $date
Строка даты для разбора.
строка|целое число|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]);

Параметры

строка $time
Строка времени для разбора.
строка|массив|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');

Параметры

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

Возвращает

Cake\I18n\DateFormatTrait|null

resetToStringFormat()source public static

resetToStringFormat( )

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

setDefaultLocale()source public static

setDefaultLocale( string|null $locale = null )

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

Параметры

строка|null $locale необязательно null
Строка локали по умолчанию или null.

setJsonEncodeFormat()source public static

setJsonEncodeFormat( string|array|integer $format )

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

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

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

Параметры

строка|массив|целое число $format
Формат.

См. также

\Cake\I18n\Time::i18nFormat()

setToStringFormat()source public static

setToStringFormat( string|array|integer $format )

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

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

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

Параметры

строка|массив|целое число $format
Формат.

Подробности свойств

$_toStringFormatsource

protected static строка|массив|целое число

Формат, используемый при форматировании времени с помощью Cake\I18n\Date::i18nFormat() и __toString. Этот формат также используется parseDateTime().

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

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

См. также

\Cake\I18n\DateFormatTrait::i18nFormat()
[IntlDateFormatter::SHORT, -1]

$niceFormatsource

public static строка|массив|целое число

Формат, используемый при форматировании времени с помощью Cake\I18n\Date::nice().

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

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

См. также

\Cake\I18n\DateFormatTrait::nice()
[IntlDateFormatter::MEDIUM, -1]

$wordAccuracysource

public static массив

Формат, используемый при форматировании времени с помощью Date::timeAgoInWords() и разницей меньше, чем Date::$wordEnd.

См. также

\Cake\I18n\Date::timeAgoInWords()
[
    'year' => 'day',
    'month' => 'day',
    'week' => 'day',
    'day' => 'day',
    'hour' => 'day',
    'minute' => 'day',
    'second' => 'day',
]

$wordEndsource

public static строка

Конец относительного указания времени

См. также

\Cake\I18n\Date::timeAgoInWords()
'+1 month'

$wordFormatsource

public static строка|массив|целое число

Формат, используемый при форматировании времени с помощью Cake\I18n\Date::timeAgoInWords() и разницей больше, чем Cake\I18n\Date::$wordEnd.

См. также

\Cake\I18n\DateFormatTrait::parseDate()
[IntlDateFormatter::SHORT, -1]

© 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.8/class-Cake.I18n.FrozenDate.html

Spec-Zone.ru

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