Spec-Zone.ru › CakePHP 3.4

Класс 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, если этот экземпляр произошёл в указанном интервале

Этот переопределённый метод обеспечивает обратную совместимость для целых чисел или строк с завершающими пробелами. Это поведение является устаревшим и будет удалено в будущих версиях 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 optional null

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

string|null $country optional null

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

boolean|array $options optional []

Если 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 optional []
Массив параметров.

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

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

wasWithinLast()source public

wasWithinLast( string|integer $timeInterval )

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

Этот переопределённый метод обеспечивает обратную совместимость для целых чисел или строк с завершающими пробелами. Это поведение является устаревшим и будет удалено в будущих версиях 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

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

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

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

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/en/class.intldateformatter.php

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

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

Примеры

$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).

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

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

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

string|null $locale optional 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 optional 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 optional 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 optional null
Любой формат, поддерживаемый IntlDateFormatter.

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

Cake\I18n\DateFormatTrait|null

resetToStringFormat()source public static

resetToStringFormat( )

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

setDefaultLocale()source public static

setDefaultLocale( string|null $locale null )

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

Параметры

string|null $locale optional 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–2017 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.4/class-Cake.I18n.FrozenTime.html

Spec-Zone.ru

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