Класс Date
Расширяет класс Date, предоставляемый Chronos.
Добавляет удобные методы и помощники по форматированию с учетом языка и региона.
- Cake\Chronos\MutableDate
-
Cake\I18n\Date реализует JsonSerializable использует Cake\I18n\DateFormatTrait
Краткое описание свойств
-
string|array|integerФормат, используемый при форматировании времени с использованием
Cake\I18n\Date::i18nFormat()и__toString - Формат, используемый при форматировании времени с использованием
string|array|integerCake\I18n\Date::nice() -
arrayФормат, используемый при форматировании времени с использованием
Date::timeAgoInWords()и разница меньше, чемDate::$wordEnd - Конец относительного времени
string -
stringФормат, используемый при форматировании времени с использованием
Cake\I18n\Date::timeAgoInWords()и разница больше, чемCake\I18n\Date::$wordEnd
Унаследованные свойства
Краткое описание методов
- timeAgoInWords() public
Возвращает относительную или отформатированную абсолютную дату в зависимости от разницы между текущей датой и этим объектом.
Подробное описание методов
timeAgoInWords()исходный код public
timeAgoInWords( array $options [] )
Возвращает относительную или отформатированную абсолютную дату в зависимости от разницы между текущей датой и этим объектом.
Параметры:
-
from=> другой объект Date, представляющий дату "сейчас" -
format=> резервный формат, если относительное время длиннее, чем указанная продолжительность end -
accuracy=> Указывает, насколько точно должна быть описана дата (массив)- year => Формат, если годы > 0 (по умолчанию "день")
- month => Формат, если месяцы > 0 (по умолчанию "день")
- week => Формат, если недели > 0 (по умолчанию "день")
- day => Формат, если недели > 0 (по умолчанию "день")
-
end=> Конец относительной даты -
relativeString=> Строка, совместимая с printf, при выводе относительной даты -
absoluteString=> Строка, совместимая с printf, при выводе абсолютной даты -
timezone=> Временная зона пользователя, в которой должен быть отформатирован отметка времени.
Относительные даты выглядят примерно так:
- 3 недели, 4 дня назад
- 1 день назад
Форматирование даты по умолчанию - d/М/ГГГГ, например: 18/02/09. Форматирование выполняется внутренне с помощью i18nFormat, см. метод для допустимых строк форматирования.
Возвращаемая строка включает 'назад' или 'в' и предполагает, что вы должным образом добавите слово, например, 'Опубликовано' перед выводом функции.
ПРИМЕЧАНИЕ: Если разница составляет одну неделю или более, то минимальная точность - день.
Параметры
- массив
$optionsнеобязательно [] - Массив параметров.
Возвращаемое значение
строкаСтрока относительного времени.
Методы, используемые из Cake\I18n\DateFormatTrait
__debugInfo()исходный код public
__debugInfo( )
Возвращает данные, которые должны отображаться при отладке этого объекта
Возвращаемое значение
массив__toString()исходный код public
__toString( )
_formatObject()исходный код protected
_formatObject( DateTime $date , string|integer|array $format , string $locale )
Возвращает переведенную и локализованную строку даты. Реализует то, что IntlDateFormatter::formatObject() делает в PHP 5.5+
Параметры
- DateTime
$date - Дата.
- строка|целое число|массив
$format - Формат.
- строка
$locale - Имя локали, в которой должна отображаться дата.
Возвращаемое значение
строкаdiffFormatter()исходный код public static
diffFormatter( Cake\I18n\RelativeTimeFormatter|null $formatter null )
Получить экземпляр форматировщика разницы или перезаписать текущий.
Параметры
- Cake\I18n\RelativeTimeFormatter|null
$formatterнеобязательно null - Экземпляр форматировщика при установке.
Возвращаемое значение
Cake\I18n\RelativeTimeFormatterЭкземпляр форматировщика.
getDefaultLocale()исходный код public static
getDefaultLocale( )
Получить локаль по умолчанию.
Возвращаемое значение
строка|nullСтрока локали по умолчанию или null.
i18nFormat()исходный код 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 = 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()исходный код public
jsonSerialize( )
Возвращает строку, которая должна быть сериализована при преобразовании этого объекта в json
Возвращаемое значение
строкаnice()исходный код public
nice( string|DateTimeZone|null $timezone null , string|null $locale null )
Возвращает красиво отформатированную строку даты для этого объекта.
Используемый формат хранится в статическом свойстве Time::niceFormat.
Параметры
- строка|DateTimeZone|null
$timezoneнеобязательно null Строка временной зоны или объект DateTimeZone, в котором должна отображаться дата. Временная зона, сохранённая для этого объекта, не будет изменена.
- строка|null
$localeнеобязательно null - Имя локали, в которой должна отображаться дата (например, pt-BR)
Возвращаемое значение
строкаОтформатированная строка даты
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
Параметры
- строка|массив|целое число
$format - Формат.
setToStringFormat()source public static
setToStringFormat( string|array|integer $format )
Устанавливает формат по умолчанию, используемый при преобразовании экземпляров этого типа в строку
Параметры
- строка|массив|целое число
$format - Формат.
Подробное описание свойств
$_toStringFormatsource
protected static строка|массив|целое число
Формат, используемый при форматировании времени с помощью Cake\I18n\Date::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\DateFormatTrait::i18nFormat()[IntlDateFormatter::SHORT, -1]
$niceFormatsource
public static строка|массив|целое число
Формат, используемый при форматировании времени с помощью Cake\I18n\Date::nice().
Формат должен быть либо константами форматирования из IntlDateFormatter, как описано в (http://www.php.net/manual/en/class.intldateformatter.php), либо шаблоном, как указано в (http://www.icu-project.org/apiref/icu4c/classSimpleDateFormat.html#details).
Можно предоставить массив из 2 констант. В этом случае первый элемент будет использоваться для форматирования даты объекта, а второй — для форматирования времени.
См. также
\Cake\I18n\DateFormatTrait::nice()[IntlDateFormatter::MEDIUM, -1]
$wordAccuracysource
public static массив
Формат, используемый при форматировании времени с помощью Date::timeAgoInWords() и разница меньше Date::$wordEnd
См. также
\Cake\I18n\Date::timeAgoInWords()[
'year' => "day",
'month' => "day",
'week' => "day",
'day' => "day",
'hour' => "day",
'minute' => "day",
'second' => "day",
] $wordEndsource
public static строка
Конец относительного указания времени
См. также
\Cake\I18n\Date::timeAgoInWords()'+1 month'
$wordFormatsource
public static строка
Формат, используемый при форматировании времени с помощью Cake\I18n\Date::timeAgoInWords() и разница больше Cake\I18n\Date::$wordEnd
См. также
\Cake\I18n\DateFormatTrait::parseDate()[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.Date.html