Spec-Zone.ru › CakePHP 3.5

Класс FrozenTime

Расширяет встроенный класс DateTime, предоставляя удобные методы и помощники для форматирования с учётом локали.

Этот объект предоставляет неизменяемую версию Cake\I18n\Time

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

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

  • string

    UNIX_TIMESTAMP_FORMAT
    'unixTimestampFormat'

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

  • $_toStringFormat protected static
    string|array|integer

    Формат для форматирования времени с помощью Cake\I18n\FrozenTime::i18nFormat() и __toString

  • $niceFormat public static
    string|array|integer
    Формат для форматирования времени с помощью Cake\I18n\FrozenTime::nice()
  • $wordAccuracy public static
    array

    Формат для форматирования времени с помощью Time::timeAgoInWords() и при разнице меньше Time::$wordEnd

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

    Формат для форматирования времени с помощью Cake\I18n\FrozenTime::timeAgoInWords() и при разнице больше Cake\I18n\FrozenTime::$wordEnd

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

  • _formatters, _isDateInstance, _jsonEncodeFormat, defaultLocale

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

  • __construct() public
  • isWithinNext() public
    Возвращает true, если этот экземпляр произошёл в указанном интервале
  • listTimezones() public static
    Получить список идентификаторов часовых поясов
  • timeAgoInWords() public

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

  • wasWithinLast() public
    Возвращает true, если этот экземпляр произойдёт в указанном интервале

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

__construct()source public

__construct( $time null , $tz null )

isWithinNext()source public

isWithinNext( string|integer $timeInterval )

Возвращает true, если этот экземпляр произошёл в указанном интервале

Этот переопределённый метод обеспечивает обратную совместимость для целых чисел или строк с trailing пробелами. Это поведение устарело и будет удалено в будущих версиях CakePHP.

Параметры

string|integer $timeInterval

Числовое значение с типом времени, например: 6 часов, 2 дня, 1 минута.

Возвращает

boolean

listTimezones()source public static

listTimezones( integer|string|null $filter null , string|null $country null , boolean|array $options [] )

Получить список идентификаторов часовых поясов

Параметры

integer|string|null $filter необязательно null

Регулярное выражение для фильтрации идентификатора или одно из констант класса DateTimeZone.

string|null $country необязательно null

Двухбуквенный код страны в формате ISO 3166-1. Используется только когда $filter равен DateTimeZone::PER_COUNTRY.

boolean|array $options необязательно []

Если true (по умолчанию), группирует список идентификаторов по основному региону. В противном случае массив с ключами group, abbr, before, и after. Установка group и abbr к true сгруппирует результаты и добавит сокращение часового пояса в значение отображения. Настройка before и after позволит настроить обертку сокращения.

Возвращает

array
Список идентификаторов часовых поясов

С версии

2.2

timeAgoInWords()source public

timeAgoInWords( array $options [] )

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

Параметры:

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

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

  • 3 недели, 4 дня назад
  • 15 секунд назад

Форматирование даты по умолчанию - дд/мм/гггг, например: 18/02/2009. Форматирование выполняется внутренне с использованием i18nFormat, см. метод для допустимых строк форматирования

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

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

Параметры

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

Возвращает

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

wasWithinLast()source public

wasWithinLast( string|integer $timeInterval )

Возвращает true, если этот экземпляр произойдёт в указанном интервале

Этот переопределённый метод обеспечивает обратную совместимость для целых чисел или строк с trailing пробелами. Это поведение устарело и будет удалено в будущих версиях CakePHP.

Параметры

string|integer $timeInterval

Числовое значение с типом времени, например: 6 часов, 2 дня, 1 минута.

Возвращает

boolean

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

__debugInfo()source public

__debugInfo( )

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

Возвращает

array

__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
Имя локали, в котором дата должна быть отображена.

Возвращает

string
END_OF_DOCUMENT_MARKER

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

Возвращает значение по умолчанию для языка.

Возвращает

string|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/ru/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 необязательно null
Строка форматирования.
string|DateTimeZone|null $timezone необязательно null

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

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

Возвращает

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

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 после разбора строки времени $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
Формат.

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

$_toStringFormatsource

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

Формат для форматирования времени с использованием Cake\I18n\FrozenTime::i18nFormat() и __toString

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

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

См. также

\Cake\I18n\FrozenTime::i18nFormat()
[IntlDateFormatter::SHORT, IntlDateFormatter::SHORT]

$niceFormatsource

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

Формат для форматирования времени с использованием Cake\I18n\FrozenTime::nice()

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

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

См. также

\Cake\I18n\FrozenTime::nice()
[IntlDateFormatter::MEDIUM, IntlDateFormatter::SHORT]

$wordAccuracysource

public static массив

Формат для форматирования времени с использованием Time::timeAgoInWords() и разница меньше чем Time::$wordEnd

См. также

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

$wordEndsource

public static строка

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

См. также

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

$wordFormatsource

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

Формат для форматирования времени с использованием Cake\I18n\FrozenTime::timeAgoInWords() и разница больше чем Cake\I18n\FrozenTime::$wordEnd

См. также

\Cake\I18n\FrozenTime::timeAgoInWords()
[IntlDateFormatter::SHORT, -1]

© 2005–2018 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.5/class-Cake.I18n.FrozenTime.html

Spec-Zone.ru

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