Класс Time
Расширяет встроенный класс DateTime, предоставляя удобные методы и помощники для форматирования с учетом локали
- Cake\Chronos\MutableDateTime
-
Cake\I18n\Time реализует JsonSerializable использует Cake\I18n\DateFormatTrait
Краткое описание свойств
-
string|array|integerФормат, используемый при форматировании времени с помощью
Cake\I18n\Time::i18nFormat()и__toString - Формат, используемый при форматировании времени с помощью
string|array|integerCake\I18n\Time::nice() -
arrayФормат, используемый при форматировании времени с помощью
Time::timeAgoInWords()и разница меньше, чемTime::$wordEnd - Конец относительного времени
string -
stringФормат, используемый при форматировании времени с помощью
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, если этот экземпляр произошёл в указанном интервале
Этот переопределённый метод обеспечивает обратную совместимость для целых чисел или строк с конечными пробелами. Это поведение устарело и будет удалено в будущих версиях 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 секунд назад
Форматирование даты по умолчанию - дд/мм/гггг, например: 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, если этот экземпляр произойдет в указанный интервал
Этот переопределенный метод обеспечивает обратную совместимость для целых чисел или строк с завершающими пробелами. Это поведение устарело и будет удалено в будущих версиях 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 $locale )
Возвращает переведенную и локализованную строку даты. Реализует то, что IntlDateFormatter::formatObject() делает в PHP 5.5+
Параметры
- DateTime
$date - Дата.
- строка|целое число|массив
$format - Формат.
- строка
$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.
Примеры
$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, не изменяя его внутреннего состояния, вы можете передать строку или объект временной зоны во второй параметр.
Наконец, если вам нужно использовать другую локаль для отображения этого объекта времени, передайте строку локали в качестве третьего параметра этой функции.
Примеры
$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.
Параметры
- строка|целое число|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]); Параметры
- 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 - Формат.
Подробности свойств
$_toStringFormatsource
protected static string|array|integer
Формат, используемый при форматировании времени с помощью Cake\I18n\Time::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\Time::i18nFormat()[IntlDateFormatter::SHORT, IntlDateFormatter::SHORT]
$niceFormatsource
public static string|array|integer
Формат, используемый при форматировании времени с помощью Cake\I18n\Time::nice().
Формат должен быть либо константами форматирования из IntlDateFormatter, как описано в (http://www.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 array
Формат, используемый при форматировании времени с помощью 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 string
Конец описания относительного времени
См. также
\Cake\I18n\Time::timeAgoInWords()'+1 month'
$wordFormatsource
public static string
Формат, используемый при форматировании времени с помощью Cake\I18n\Time::timeAgoInWords() и разница больше Cake\I18n\Time::$wordEnd.
См. также
\Cake\I18n\Time::timeAgoInWords()[IntlDateFormatter::SHORT, -1]
© 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.Time.html