Трейт DateFormatTrait
Трейт для методов форматирования дат, используемых как в Time, так и в Date.
Этот трейт предполагает, что реализующий класс определит статический член static::$_toStringFormat.
Прямые пользователи
Краткое описание свойств
- Кэш форматировщиков дат в памяти
IntlDateFormatter[] - Кэширует, является ли данный класс подклассом 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( )
Возвращает данные, которые должны быть отображены при отладке объекта
Возвращает
массив__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 - Имя локали, в которой должна быть отображена дата.
Возвращает
строкаdiffFormatter()source public static
diffFormatter( Cake\I18n\RelativeTimeFormatter|null $formatter = null )
Получить или перезаписать текущий экземпляр форматировщика разницы.
Параметры
- Cake\I18n\RelativeTimeFormatter|null
$formatteroptional 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::$defaultLocale переменной и установить его на один из возможных форматов, принимаемых этой функцией.
Подробнее о доступных константах IntlDateFormatter можно узнать на https://secure.php.net/manual/en/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
$formatoptional null - Строка формата.
- string|DateTimeZone|null
$timezoneoptional null Строка или объект DateTimeZone часового пояса, в котором будет отображена дата. Часовой пояс, сохранённый для этого объекта, не будет изменён.
- string|null
$localeoptional null - Имя локали для отображения даты (например, pt-BR)
Возвращает
строка|целое числоОтформатированная и переведённая строка даты
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, как описано в (https://secure.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:ssxxx"
$defaultLocalesource
public static string
Локаль по умолчанию для отображения отформатированных строк дат.
Устарело
3.2.9 Используйте static::setDefaultLocale() и static::getDefaultLocale() вместо этого.
© 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.6/class-Cake.I18n.DateFormatTrait.html