Трейт DateFormatTrait
Трейт для методов форматирования дат, используемых как в Time, так и в Date.
Этот трейт предполагает, что реализующий класс определит статическое свойство static::$_toStringFormat.
Прямые пользователи
Краткое описание свойств
- Кэш форматирователей дат в памяти
array - Кэширует, является ли этот класс подклассом Date или MutableDate
boolean - Формат, используемый при преобразовании объекта в JSON
string|array|integer - Локаль по умолчанию для отображения отформатированных строк дат.
string
Краткое описание методов
- __debugInfo() publicВозвращает данные, которые должны отображаться при отладке объекта
- __toString() public
- _formatObject() protected
Возвращает переведенную и локализованную строку даты. Реализует IntlDateFormatter::formatObject() в PHP 5.5+
- Получить или перезаписать текущий экземпляр форматировщика разницы.
- Получить локаль по умолчанию.
- i18nFormat() public
Возвращает отформатированную строку для этого объекта времени, используя предпочтительный формат и язык для указанной локали.
- jsonSerialize() publicВозвращает строку, которая должна быть сериализована при преобразовании этого объекта в JSON
- nice() publicВозвращает красиво отформатированную строку даты для этого объекта.
-
Возвращает новый объект Time после парсинга переданной строки $date, основанной на переданном или настроенном формате даты и времени. Этот метод зависит от локали. Любая строка, переданная в эту функцию, будет интерпретирована как строка, зависящая от локали.
-
Возвращает новый объект Time после парсинга переданной строки времени, основанной на переданном или настроенном формате даты и времени. Этот метод зависит от локали. Любая строка, переданная в эту функцию, будет интерпретирована как строка, зависящая от локали.
-
Возвращает новый объект Time после парсинга переданной строки $time, основанной на переданном или настроенном формате даты и времени. Этот метод зависит от локали. Любая строка, переданная в эту функцию, будет интерпретирована как строка, зависящая от локали.
-
Сбрасывает формат до значения по умолчанию при преобразовании экземпляра этого типа в строку
- Устанавливает локаль по умолчанию.
- Устанавливает формат по умолчанию, используемый при преобразовании этого объекта в JSON
- Устанавливает формат по умолчанию, используемый при преобразовании экземпляров этого типа в строку
Подробное описание методов
__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 - Имя локали, в которой должна отображаться дата.
Возвращает
stringdiffFormatter()source public static
diffFormatter( Cake\I18n\RelativeTimeFormatter|null $formatter null )
Получить или перезаписать текущий экземпляр форматировщика разницы.
Параметры
- Cake\I18n\RelativeTimeFormatter|null
$formatteroptional 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.
Примеры
$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::$defaultLocale и установить её на один из возможных форматов, принимаемых этой функцией.
Вы можете узнать о доступных константах IntlDateFormatter по адресу http://www.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
$formatoptional null - Строка формата.
- string|DateTimeZone|null
$timezoneoptional null Строка часовой зоны или объект DateTimeZone, в котором будет отображена дата. Часовая зона, сохранённая для этого объекта, не изменится.
- string|null
$localeoptional null - Имя локали для отображения даты (например, pt-BR)
Возвращает
stringОтформатированная и переведённая строка даты
jsonSerialize()source public
jsonSerialize( )
Возвращает строку, которая должна быть сериализована при преобразовании этого объекта в JSON
Возвращает
stringnice()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|nullparseDateTime()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|nullparseTime()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|nullresetToStringFormat()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 - Формат.
Подробное описание свойств
$_isDateInstancesource
protected static boolean
Кэширует, является ли этот класс подклассом Date или MutableDate
$_jsonEncodeFormatsource
protected static string|array|integer
Формат для использования при преобразовании этого объекта в json
Формат должен быть либо константами форматирования из IntlDateFormatter (см. http://www.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:ssZ"
$defaultLocalesource
public static string
Язык по умолчанию для отображения отформатированных строк дат.
Устаревшее
3.2.9 Используйте static::setDefaultLocale() и static::getDefaultLocale() вместо этого.
© 2005–2016 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.
http://api.cakephp.org/3.2/class-Cake.I18n.DateFormatTrait.html