Spec-Zone.ru › CakePHP 3.1

Класс Time

Расширяет встроенный класс DateTime, предоставляя удобные методы и помощники по форматированию с учетом локали

Carbon\Carbon
Extended by Cake\I18n\Time реализует JsonSerializable
Пространство имен: Cake\I18n
Расположение: I18n/Time.php

Подробное описание методов

__constructsource public

__construct( mixed $time null , mixed $tz null )

__debugInfosource public

__debugInfo( )

Возвращает данные, которые должны отображаться при отладке этого объекта

Возвращает

array
массив

__toStringsource public

__toString( )

_formatObjectsource protected

_formatObject( DateTime $date , string|integer|array $format , string $locale )

Возвращает переведенную и локализованную строку даты. Реализует IntlDateFormatter::formatObject() в PHP 5.5+

Параметры

DateTime $date
Дата.
string|integer|array $format
Формат.
string $locale
Имя локали, в которой должна отображаться дата.

Возвращает

string
строка

diffForHumanssource public

diffForHumans( Carbon\Carbon\Carbon $other null , array $options [] )

Возвращает разницу между этой датой и заданной датой в удобочитаемом формате.

См. Time::timeAgoInWords() для полного списка опций, которые можно передать в этот метод.

Параметры

Carbon\Carbon\Carbon $other необязательно null
дата для сравнения
массив $options необязательно []
опции, принимаемые timeAgoInWords

Возвращает

string
строка

См. также

Cake\I18n\Time::timeAgoInWords()

fromNowsource public static

fromNow( DateTime|DateTimeImmutable $datetime )

Удобный метод для получения оставшегося времени от заданного времени.

Параметры

DateTime|DateTimeImmutable $datetime
Дата для получения оставшегося времени.

Возвращает

DateInterval|boolean
Объект DateInterval, представляющий разницу между двумя датами, или FALSE при ошибке.

i18nFormatsource 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

Параметры

string|integer|null $format необязательно null
Строка форматирования.
string|DateTimeZone|null $timezone необязательно null
Строка часового пояса или объект DateTimeZone, в котором будет отображаться дата. Сохраненный часовой пояс для этого объекта не изменится.
string|null $locale необязательно null
Имя локали, в которой должна отображаться дата (например, pt-BR)

Возвращает

string
Отформатированная и переведенная строка даты

isThisMonthsource public

isThisMonth( )

Возвращает true, если этот объект представляет дату текущего месяца

Возвращает

boolean
bool

isThisWeeksource public

isThisWeek( )

Возвращает true, если этот объект представляет дату текущей недели

Возвращает

boolean
bool

isThisYearsource public

isThisYear( )

Возвращает true, если этот объект представляет дату текущего года

Возвращает

boolean
bool

isWithinNextsource public

isWithinNext( string|integer $timeInterval )

Возвращает true, если этот экземпляр произойдёт в течение указанного интервала

Параметры

string|integer $timeInterval
числовое значение со временем. Пример допустимых типов: 6 часов, 2 дня, 1 минута.

Возвращает

boolean
bool

jsonSerializesource public

jsonSerialize( )

Возвращает строку, которая должна быть сериализована при преобразовании этого объекта в json

Возвращает

string
строка

Реализация

JsonSerializable::jsonSerialize()

listTimezonessource public static

listTimezones( integer|string $filter null , string $country null , boolean|array $options [] )

Получить список идентификаторов часовых поясов

Параметры

integer|string $filter необязательно null
Регулярное выражение для фильтрации идентификатора или одна из констант класса DateTimeZone
string $country необязательно null
Двухбуквенный код страны ISO 3166-1. Этот параметр используется только при установке $filter в DateTimeZone::PER_COUNTRY
boolean|array $options необязательно []
Если true (значение по умолчанию), группирует список идентификаторов по основному региону. В противном случае массив с ключами group, abbr, before, и after. Установка group и abbr к true сгруппирует результаты и добавит аббревиатуру часового пояса в значение отображения. Настройте before и after для настройки обертки аббревиатуры.

Возвращает

array
Список идентификаторов часовых поясов

С тех пор

2.2

nicesource 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
Отформатированная строка даты
END_OF_DOCUMENT_MARKER

parseDatesource public static

parseDate( string $date , string|integer $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
Строка даты для разбора.
строка|целое число $format необязательно null
Любой формат, поддерживаемый IntlDateFormatter.

Возвращает

static|null
static|null

parseDateTimesource public static

parseDateTime( string $time , string|array $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
Строка времени для разбора.
строка|массив $format необязательно null
Любой формат, поддерживаемый IntlDateFormatter.

Возвращает

static|null
static|null

parseTimesource public static

parseTime( string $time , string|integer $format null )

Возвращает новый объект Time после разбора предоставленной строки $time, основываясь на переданном или настроенном формате даты и времени. Этот метод зависит от локали; любая строка, переданная этой функции, будет интерпретироваться как строка, зависящая от локали.

Если $format не указан, используется формат IntlDateFormatter::SHORT.

Если предоставленное время невозможно разобрать, возвращается null.

Пример:

$time = Time::parseDate('11:23pm');

Параметры

строка $time
Строка времени для разбора.
строка|целое число $format необязательно null
Любой формат, поддерживаемый IntlDateFormatter.

Возвращает

static|null
static|null

resetToStringFormatsource public static

resetToStringFormat( )

Сбрасывает формат к значению по умолчанию при преобразовании экземпляра этого типа в строку.

setJsonEncodeFormatsource public static

setJsonEncodeFormat( string|array|integer $format )

Устанавливает формат по умолчанию, используемый при преобразовании этого объекта в JSON.

Параметры

строка|массив|целое число $format
Формат.

setToStringFormatsource public static

setToStringFormat( string|array|integer $format )

Устанавливает формат по умолчанию, используемый при преобразовании экземпляров этого типа в строку.

Параметры

строка|массив|целое число $format
Формат.

timeAgoInWordssource public

timeAgoInWords( array $options [] )

Возвращает относительную или отформатированную абсолютную дату в зависимости от разницы между текущим временем и этим объектом.

Параметры:

  • from => другой объект Time, представляющий текущее время
  • format => резервный формат, если относительное время превышает заданную длительность
  • 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 необязательно []
Массив параметров.

Возвращает

string
Строка относительного времени.

toQuartersource public

toQuarter( boolean $range false )

Возвращает квартал.

Параметры

логическое значение $range необязательно false
Диапазон.

Возвращает

integer|array
1, 2, 3 или 4 квартал года, или массив, если $range true

toUnixStringsource public

toUnixString( )

Возвращает отметку времени UNIX.

Возвращает

string
Отметка времени UNIX

wasWithinLastsource public

wasWithinLast( string|integer $timeInterval )

Возвращает true, если этот экземпляр произошел в указанном интервале.

Параметры

строка|целое число $timeInterval
Числовое значение с типом времени. Пример допустимых типов: 6 часов, 2 дня, 1 минута.

Возвращает

boolean
bool

Краткое описание свойств

$_formatterssource

protected static массив

Кэширование форматеров дат в памяти

[]

$_jsonEncodeFormatsource

protected static строка|массив|целое число

Формат, используемый при преобразовании этого объекта в JSON

Формат должен быть либо константами форматирования из 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()
"yyyy-MM-dd'T'HH:mm:ssZ"

$_toStringFormatsource

protected static строка|массив|целое число

Формат, используемый при форматировании времени с помощью 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]

$defaultLocalesource

public static строка

Локаль по умолчанию для отображения отформатированных строк дат.

$niceFormatsource

public static строка|массив|целое число

Формат, используемый при форматировании времени с помощью 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 массив

Формат для форматирования времени с помощью 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–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.1/class-Cake.I18n.Time.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API