Класс FrozenTime
Расширяет встроенный класс DateTime, предоставляя удобные методы и помощники форматирования с учетом языка
Этот объект предоставляет неизменяемую разновидность Cake\I18n\Time
- Cake\Chronos\Chronos
-
Cake\I18n\FrozenTime реализует JsonSerializable использует Cake\I18n\DateFormatTrait
Краткое описание констант
-
string'unixTimestampFormat'
Краткое описание свойств
-
string|array|integerФормат, используемый при форматировании времени с помощью
Cake\I18n\FrozenTime::i18nFormat()и__toString - Формат, используемый при форматировании времени с помощью
string|array|integerCake\I18n\FrozenTime::nice() -
arrayФормат, используемый при форматировании времени с помощью
Time::timeAgoInWords()и разница меньшеTime::$wordEnd - Конец относительного времени
string -
string|array|integerФормат, используемый при форматировании времени с помощью
Cake\I18n\FrozenTime::timeAgoInWords()и разница большеCake\I18n\FrozenTime::$wordEnd
Наследованные свойства
Краткое описание методов
- __construct() public
- isWithinNext() publicВозвращает true, если этот экземпляр произошёл в указанном интервале
- Получить список идентификаторов часовых поясов
- timeAgoInWords() public
Возвращает относительную или отформатированную абсолютную дату в зависимости от разницы между текущим временем и этим объектом.
- wasWithinLast() publicВозвращает true, если этот экземпляр произойдёт в указанном интервале
Подробное описание методов
__construct()source public
__construct( $time null , $tz null )
isWithinNext()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
$filteroptional null Регулярное выражение для фильтрации идентификаторов или одно из констант класса DateTimeZone
- string|null
$countryoptional null Двухбуквенный код ISO 3166-1 совместимой страны. Этот параметр используется только когда $filter установлен в DateTimeZone::PER_COUNTRY
- boolean|array
$optionsoptional [] Если true (по умолчанию), группирует список идентификаторов по основному региону. Иначе, массив содержащий
group,abbr,before, иafterключи. Установкаgroupиabbrв true сгруппирует результаты и добавит сокращение часового пояса в значение отображения. Настройкаbeforeиafterпозволит настроить обертывание сокращения.
Возвращаемое значение
arrayСписок идентификаторов часовых поясов
С
2.2timeAgoInWords()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, см. метод для допустимых строк форматирования
Возвращаемая строка включает 'назад' или 'в' и предполагает, что вы добавите слово, такое как 'Опубликовано ' перед выводом функции.
ПРИМЕЧАНИЕ: Если разница составляет одну неделю или более, то наименьшей степенью точности является день
Параметры
- array
$optionsoptional [] - Массив параметров.
Возвращаемое значение
stringСтрока относительного времени.
wasWithinLast()source public
wasWithinLast( string|integer $timeInterval )
Возвращает true, если этот экземпляр произойдёт в указанном интервале
Этот переопределённый метод обеспечивает обратную совместимость для целых чисел или строк с завершающими пробелами. Это поведение является устаревшим и будет удалено в будущих версиях CakePHP.
Параметры
- string|integer
$timeInterval Числовое значение со временем. Примеры допустимых значений: 6 часов, 2 дня, 1 минута.
Возвращаемое значение
booleanМетоды используемые из Cake\I18n\DateFormatTrait
__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.
В дополнение к 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, без изменения его внутреннего состояния, можно передать строку часового пояса или объект 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
$timezoneoptional null Строка часового пояса или объект DateTimeZone, в котором будет отображаться дата. Внутреннее состояние объекта не изменится.
- string|null
$localeoptional 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
$formatoptional 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
$formatoptional 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
$formatoptional null - Любой формат, поддерживаемый IntlDateFormatter.
Возвращаемое значение
Cake\I18n\DateFormatTrait|nullresetToStringFormat()source public static
resetToStringFormat( )
Сбрасывает формат до значения по умолчанию при преобразовании экземпляра этого типа в строку
setDefaultLocale()source public static
setDefaultLocale( string|null $locale null )
Устанавливает локаль по умолчанию.
Параметры
- string|null
$localeoptional 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 строка|массив|целое число
Формат, используемый при форматировании времени с помощью Cake\I18n\FrozenTime::i18nFormat() и __toString
Формат должен быть либо константами форматирования из IntlDateFormatter, как описано в (https://secure.php.net/manual/en/class.intldateformatter.php), либо шаблоном, как указано в (http://www.icu-project.org/apiref/icu4c/classSimpleDateFormat.html#details)
Можно указать массив из 2 констант. В этом случае, первая позиция будет использоваться для форматирования даты объекта, а вторая — для форматирования времени.
См. также
\Cake\I18n\FrozenTime::i18nFormat()[IntlDateFormatter::SHORT, IntlDateFormatter::SHORT]
$niceFormatsource
public static строка|массив|целое число
Формат, используемый при форматировании времени с помощью Cake\I18n\FrozenTime::nice()
Формат должен быть либо константами форматирования из IntlDateFormatter, как описано в (https://secure.php.net/manual/en/class.intldateformatter.php), либо шаблоном, как указано в (http://www.icu-project.org/apiref/icu4c/classSimpleDateFormat.html#details)
Можно указать массив из 2 констант. В этом случае, первая позиция будет использоваться для форматирования даты объекта, а вторая — для форматирования времени.
См. также
\Cake\I18n\FrozenTime::nice()[IntlDateFormatter::MEDIUM, IntlDateFormatter::SHORT]
$wordAccuracysource
public static массив
Формат, используемый при форматировании времени с помощью Time::timeAgoInWords() и разница меньше, чем Time::$wordEnd
См. также
\Cake\I18n\FrozenTime::timeAgoInWords()[
'year' => 'day',
'month' => 'day',
'week' => 'day',
'day' => 'hour',
'hour' => 'minute',
'minute' => 'minute',
'second' => 'second',
] $wordEndsource
public static строка
Конец описания относительного времени
См. также
\Cake\I18n\FrozenTime::timeAgoInWords()'+1 month'
$wordFormatsource
public static строка|массив|целое число
Формат, используемый при форматировании времени с помощью Cake\I18n\FrozenTime::timeAgoInWords() и разница больше, чем Cake\I18n\FrozenTime::$wordEnd
См. также
\Cake\I18n\FrozenTime::timeAgoInWords()[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.4/class-Cake.I18n.FrozenTime.html