Spec-Zone.ru › CakePHP 3.3

Класс Date

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

Добавляет удобные методы и помощники форматирования с учётом региональных настроек.

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

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

  • $_toStringFormat protected static
    string|array|integer

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

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

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

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

  • _formatters, _isDateInstance, _jsonEncodeFormat, defaultLocale

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

  • timeAgoInWords() public

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

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

timeAgoInWords()исходный код 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 день назад

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

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

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

Параметры

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

Возвращает

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

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

__debugInfo()исходный код public

__debugInfo( )

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

Возвращает

массив

__toString()исходный код public

__toString( )

_formatObject()исходный код protected

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

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

Параметры

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

Возвращает

строка

diffFormatter()исходный код public static

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

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

Параметры

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

Возвращает

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

getDefaultLocale()исходный код public static

getDefaultLocale( )

Получить значение по умолчанию для локали.

Возвращает

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

i18nFormat()исходный код 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 на http://www.php.net/manual/en/class.intldateformatter.php.

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

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

Примеры

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

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

Параметры

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

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

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

Возвращает

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

jsonSerialize()исходный код public

jsonSerialize( )

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

Возвращает

строка

nice()исходный код 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.

Параметры

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

setToStringFormat()source public static

setToStringFormat( string|array|integer $format )

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

Параметры

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

Детали свойств

$_toStringFormatsource

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

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

Формат должен быть либо константами форматирования из IntlDateFormatter, как описано в (http://www.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, как описано в (http://www.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–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.3/class-Cake.I18n.Date.html

Spec-Zone.ru

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