Класс Time
Расширяет встроенный класс DateTime, предоставляя удобные методы и помощники по форматированию с учетом региональных настроек
- Cake\Chronos\MutableDateTime
-
Cake\I18n\Time реализует JsonSerializable использует Cake\I18n\DateFormatTrait
Краткое описание констант
-
stringUNIX_TIMESTAMP_FORMAT'unixTimestampFormat'
Краткое описание свойств
-
string|array|integerФормат, используемый при форматировании времени с использованием
Cake\I18n\Time::i18nFormat()и__toString. Этот формат также используетсяparseDateTime(). - Формат, используемый при форматировании времени с использованием
string|array|integerCake\I18n\Time::nice(). -
arrayФормат, используемый при форматировании времени с использованием
Time::timeAgoInWords(), и разница меньшеTime::$wordEnd. - Конец описания относительного времени.
string -
string|array|integerФормат, используемый при форматировании времени с использованием
Cake\I18n\Time::timeAgoInWords(), и разница большеCake\I18n\Time::$wordEnd.
Унаследованные свойства
Краткое описание методов
- __construct() public
- isThisMonth() publicВозвращает true, если этот объект представляет дату текущего месяца.
- isThisWeek() publicВозвращает true, если этот объект представляет дату текущей недели.
- isThisYear() publicВозвращает true, если этот объект представляет дату текущего года.
- isWithinNext() publicВозвращает true, если этот экземпляр произошёл в указанный интервал.
- Возвращает список идентификаторов часовых поясов.
- nice() publicВозвращает красиво отформатированную строку даты для этого объекта.
- timeAgoInWords() public
Возвращает относительную или отформатированную абсолютную дату, в зависимости от разницы между текущим временем и этим объектом.
- toQuarter() publicВозвращает квартал.
- toUnixString() publicВозвращает метку времени Unix.
- wasWithinLast() publicВозвращает true, если этот экземпляр произойдёт в течение указанного интервала.
Подробное описание методов
__construct()source public
__construct( $time = null , $tz = null )
isThisMonth()source public
isThisMonth( )
Возвращает true, если этот объект представляет дату текущего месяца
Возвращает
booleanisThisWeek()source public
isThisWeek( )
Возвращает true, если этот объект представляет дату текущей недели
Возвращает
booleanisThisYear()source public
isThisYear( )
Возвращает true, если этот объект представляет дату текущего года
Возвращает
booleanisWithinNext()source public
isWithinNext( string|integer $timeInterval )
Возвращает true, если этот экземпляр произошел в указанный интервал
Этот переопределённый метод обеспечивает обратную совместимость для целых чисел или строк с trailing spaces. Это поведение deprecated и будет удалено в будущих версиях CakePHP.
Параметры
- string|integer
$timeInterval Числовое значение со временем. Примеры допустимых типов: 6 часов, 2 дня, 1 минута.
Возвращает
booleanlistTimezones()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.2nice()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Отформатированная строка даты
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 секунд назад
Форматирование даты по умолчанию — dd/MM/гггг, например: 18/02/2009. Форматирование выполняется внутри с использованием i18nFormat, см. метод для допустимых строк форматирования
Возвращаемая строка включает 'назад' или 'в' и предполагает, что вы добавите слово вроде 'Опубликовано ' перед результатом работы функции.
ПРИМЕЧАНИЕ: Если разница составляет одну неделю или более, то точность отображения снижается до дня
Параметры
- массив
$optionsнеобязательно [] - Массив параметров.
Возвращаемое значение
строкаСтрока относительного времени.
toQuarter()source public
toQuarter( boolean $range = false )
Возвращает квартал
Параметры
- булево
$rangeнеобязательно false - Диапазон.
Возвращаемое значение
целое число/массив1, 2, 3 или 4 квартал года, или массив, если $range true
toUnixString()source public
toUnixString( )
Возвращает отметку времени Unix.
Возвращаемое значение
строкаОтметка времени Unix
wasWithinLast()source public
wasWithinLast( string|integer $timeInterval )
Возвращает true, если этот экземпляр произошел в указанном интервале.
Этот переопределённый метод обеспечивает обратную совместимость для целых чисел или строк с trailing пробелами. Это поведение является устаревшим и будет удалено в будущих версиях CakePHP.
Параметры
- строка/целое число
$timeInterval Числовое значение со временем. Примеры допустимых типов: 6 часов, 2 дня, 1 минута.
Возвращаемое значение
булевоМетоды, используемые из Cake\I18n\DateFormatTrait
__debugInfo()source public
__debugInfo( )
Возвращает данные, которые должны отображаться при отладке этого объекта
Возвращаемое значение
массив__toString()source public
__toString( )
_formatObject()source protected
_formatObject( DateTime $date , string|integer|array $format , string|null $locale )
Возвращает переведённую и локализованную строку даты. Реализует то, что IntlDateFormatter::formatObject() делает в PHP 5.5+
Параметры
- DateTime
$date - Дата.
- строка/целое число/массив
$format - Формат.
- строка|null
$locale - Имя локали, в которой должна быть отображена дата.
Возвращаемое значение
строка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( )
Получает локаль по умолчанию.
Возвращаемое значение
строка|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::setToStringFormat().
Вы можете прочитать о доступных константах IntlDateFormatter на https://secure.php.net/manual/ru/class.intldateformatter.php
Если вам нужно отобразить дату в часовом поясе, отличном от используемого для этого объекта времени, без изменения его внутреннего состояния, вы можете передать строку часового пояса или объект DateTimeZone в качестве второго параметра.
Наконец, если вам нужно использовать другую локаль для отображения этого объекта времени, передайте строку локали в качестве третьего параметра этой функции.
Примеры
$time = new Time('2014-04-20 22:10');
$time->i18nFormat(null, null, 'de-DE');
$time->i18nFormat(\IntlDateFormatter::FULL, 'Europe/Berlin', 'de-DE'); Вы можете управлять локалью по умолчанию через Time::setDefaultLocale(). Если пусто, значение будет взято из конфигурации ini intl.default_locale.
Параметры
- строка/целое число/null
$formatнеобязательно null - Строка форматирования.
- строка/DateTimeZone/null
$timezoneнеобязательно null Строка часового пояса или объект DateTimeZone, в котором будет отображена дата. Часовой пояс, хранящийся в этом объекте, не изменится.
- строка|null
$localeнеобязательно null - Имя локали, в которой должна быть отображена дата (например, pt-BR).
Возвращаемое значение
строка/целое числоОтформатированная и переведенная строка даты
jsonSerialize()source public
jsonSerialize( )
Возвращает строку, которая должна быть сериализована при преобразовании этого объекта в json
Возвращаемое значение
строка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|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]); Параметры
- строка
$time - Строка времени для анализа.
- строка|массив|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'); Параметры
- строка
$time - Строка времени для анализа.
- строка|целое число|null
$formatнеобязательно null - Любой формат, поддерживаемый IntlDateFormatter.
Возвращает
Cake\I18n\DateFormatTrait|nullresetToStringFormat()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.
Формат должен быть либо константами форматирования из IntlDateFormatter, описанными в (https://secure.php.net/manual/en/class.intldateformatter.php), либо шаблоном, указанным в (http://www.icu-project.org/apiref/icu4c/classSimpleDateFormat.html#details)
Можно указать массив из 2 констант. В этом случае первая позиция будет использоваться для форматирования даты объекта, а вторая - для форматирования времени.
Параметры
- строка|массив|целое число
$format - Формат.
См. также
\Cake\I18n\Time::i18nFormat()setToStringFormat()source public static
setToStringFormat( string|array|integer $format )
Устанавливает формат по умолчанию, используемый при преобразовании экземпляров этого типа в строку.
Формат должен быть либо константами форматирования из IntlDateFormatter, описанными в (https://secure.php.net/manual/en/class.intldateformatter.php), либо шаблоном, указанным в (http://www.icu-project.org/apiref/icu4c/classSimpleDateFormat.html#details)
Можно указать массив из 2 констант. В этом случае первая позиция будет использоваться для форматирования даты объекта, а вторая - для форматирования времени.
Параметры
- строка|массив|целое число
$format - Формат.
Подробности свойств
$_toStringFormatsource
protected static строка|массив|целое число
Формат, используемый при форматировании времени с помощью Cake\I18n\Time::i18nFormat() и __toString. Этот формат также используется parseDateTime().
Формат должен быть либо константами форматирования из 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()[IntlDateFormatter::SHORT, IntlDateFormatter::SHORT]
$niceFormatsource
public static строка|массив|целое число
Формат, используемый при форматировании времени с помощью Cake\I18n\Time::nice().
Формат должен быть либо константами форматирования из IntlDateFormatter, описанными в (https://secure.php.net/manual/en/class.intldateformatter.php), либо шаблоном, указанным в (http://www.icu-project.org/apiref/icu4c/classSimpleDateFormat.html#details)
Можно указать массив из 2 констант. В этом случае первая позиция будет использоваться для форматирования даты объекта, а вторая - для форматирования времени.
См. также
\Cake\I18n\Time::nice()[IntlDateFormatter::MEDIUM, IntlDateFormatter::SHORT]
$wordAccuracysource
public static массив
Формат, используемый при форматировании времени с помощью Time::timeAgoInWords() и разница меньше Time::$wordEnd.
См. также
\Cake\I18n\Time::timeAgoInWords()[
'year' => 'day',
'month' => 'day',
'week' => 'day',
'day' => 'hour',
'hour' => 'minute',
'minute' => 'minute',
'second' => 'second',
] $wordEndsource
public static строка
Конец относительного показа времени
См. также
\Cake\I18n\Time::timeAgoInWords()'+1 month'
$wordFormatsource
public static строка|массив|целое число
Формат, используемый при форматировании времени с помощью Cake\I18n\Time::timeAgoInWords() и разница больше Cake\I18n\Time::$wordEnd.
См. также
\Cake\I18n\Time::timeAgoInWords()[IntlDateFormatter::SHORT, -1]
© 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.8/class-Cake.I18n.Time.html