Класс CakeTime
Класс-помощник для работы со временем, упрощающий использование временных данных.
Обработка временных данных.
Авторские права: Авторские права (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: Лицензия MIT
Ссылка: http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html
Расположено в Cake/Utility/CakeTime.php
Подробное описание методов
__getисточник public
__get( string $name )
Магический метод доступа для обеспечения обратной совместимости. Используется классом TimeHelper для получения статических переменных в CakeTime
Параметры
- строка
$name - Имя переменной
Возвращает
mixedсмешанный тип
__setисточник public
__set( string $name , mixes $value )
Магический метод задания для обеспечения обратной совместимости. Используется классом TimeHelper для изменения статических переменных в CakeTime
Параметры
- строка
$name - Имя переменной
- смешанный тип
$value - Значение переменной
_strftimeисточник protected static
_strftime( string $format , integer $date )
Обработчик многобайтовой функции strftime.
Обрабатывает utf8-кодирование результата strftime при необходимости.
Параметры
- строка
$format - Строка формата.
- целое число
$date - Маркер времени для форматирования.
Возвращает
stringстрока с отформатированным значением и правильной кодировкой.
_translateSpecifierисточник protected static
_translateSpecifier( array $specifier )
Вспомогательная функция для перевода элемента-спецификатора, полученного из регулярного выражения, в безопасную для Windows и учитывающую i18n спецификацию.
Параметры
- массив
$specifier - соответствие регулярному выражению
Возвращает
stringпреобразованный элемент
convertисточник public static
convert( string $serverTime , string|DateTimeZone $timezone )
Преобразует заданное время (в часовом поясе сервера) в локальное время пользователя, учитывая его часовой пояс.
Параметры
- строка
$serverTime - Маркер времени UNIX
- строка/DateTimeZone
$timezone - Строка часового пояса пользователя или объект DateTimeZone
Возвращает
integerМаркер времени UNIX
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::convertconvertSpecifiersисточник public static
convertSpecifiers( string $format , string $time null )
Преобразует строку, представляющую формат для функции strftime, и возвращает формат, безопасный для Windows и учитывающий i18n.
Параметры
- строка
$format - Формат со спецификаторами для функции strftime. Принимает специальный спецификатор %S, который имитирует модификатор S для date()
- строка
$timeнеобязательно null - Маркер времени UNIX
Возвращает
stringФормат, безопасный для Windows и совместимый с функцией date() для strftime
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::convertSpecifiersdayAsSqlисточник public static
dayAsSql( integer|string|DateTime $dateString , string $fieldName , string|DateTimeZone $timezone null )
Возвращает частичную строку SQL для поиска всех записей между двумя временами, которые происходят в один и тот же день.
Параметры
- целое число/строка/DateTime
$dateString - Маркер времени UNIX, строка, подходящая для strtotime(), или объект DateTime
- строка
$fieldName - Имя поля базы данных для сравнения
- строка/DateTimeZone
$timezoneнеобязательно null - Строка часового пояса или объект DateTimeZone
Возвращает
stringЧастичная строка SQL.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::dayAsSqldaysAsSqlисточник public static
daysAsSql( integer|string|DateTime $begin , integer|string|DateTime $end , string $fieldName , string|DateTimeZone $timezone null )
Возвращает частичную строку SQL для поиска всех записей между двумя датами.
Параметры
- целое число/строка/DateTime
$begin - Маркер времени UNIX, строка, подходящая для strtotime(), или объект DateTime
- целое число/строка/DateTime
$end - Маркер времени UNIX, строка, подходящая для strtotime(), или объект DateTime
- строка
$fieldName - Имя поля базы данных для сравнения
- строка/DateTimeZone
$timezoneнеобязательно null - Строка часового пояса или объект DateTimeZone
Возвращает
stringЧастичная строка SQL.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::daysAsSqlformatисточник public static
format( integer|string|DateTime $date , integer|string|DateTime $format null , boolean|string $default false , string|DateTimeZone $timezone null )
Возвращает отформатированную строку даты, заданную маркером времени UNIX или допустимой строкой даты strtotime(). Функция также принимает строку времени и строку формата в качестве первых двух параметров. В этом случае функция работает как обёртка для TimeHelper::i18nFormat()
Примеры
Создание локализованного и отформатированного времени:
CakeTime::format('2012-02-15', '%m-%d-%Y'); // returns 02-15-2012 CakeTime::format('2012-02-15 23:01:01', '%c'); // returns preferred date and time based on configured locale CakeTime::format('0000-00-00', '%d-%m-%Y', 'N/A'); // return N/A becuase an invalid date was passed CakeTime::format('2012-02-15 23:01:01', '%c', 'N/A', 'America/New_York'); // converts passed date to timezone
Параметры
- целое число/строка/DateTime
$date - Маркер времени UNIX, строка, подходящая для strtotime(), или объект DateTime (или строка формата даты)
- целое число/строка/DateTime
$formatнеобязательно null - строка формата даты (или маркер времени UNIX, строка, подходящая для strtotime(), или объект DateTime)
- логическое значение/строка
$defaultнеобязательно false - если передана некорректная дата, выводится заданное значение по умолчанию. Передайте false, если нужно получить значение преобразования без форматирования
- строка/DateTimeZone
$timezoneнеобязательно null - Строка часового пояса или объект DateTimeZone
Возвращает
stringОтформатированная строка даты
См. также
CakeTime::i18nFormat()Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::formatfromStringисточник public static
fromString( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )
Возвращает маркер времени UNIX, заданный маркером времени UNIX или допустимой строкой даты strtotime().
Параметры
- целое число/строка/DateTime
$dateString - Маркер времени UNIX, строка, подходящая для strtotime(), или объект DateTime
- строка/DateTimeZone
$timezoneнеобязательно null - Строка часового пояса или объект DateTimeZone
Возвращает
stringОбработанный маркер времени
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::fromStringgmtисточник public static
gmt( integer|string|DateTime $dateString null )
Возвращает значение GMT в качестве маркера времени UNIX.
Параметры
- целое число/строка/DateTime
$dateStringнеобязательно null - Маркер времени UNIX, строка, подходящая для strtotime(), или объект DateTime
Возвращает
integerМаркер времени UNIX
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::gmti18nFormatsource public static
i18nFormat( integer|string|DateTime $date , string $format null , boolean|string $default false , string|DateTimeZone $timezone null )
Возвращает отформатированную строку даты, заданную либо временной меткой UNIX, либо допустимой строкой даты strtotime(). Учитывает форматы даты по умолчанию для текущего языка, если используется файл LC_TIME.
Параметры
- integer|string|DateTime
$date - Временная метка UNIX, допустимая строка strtotime() или объект DateTime
- string
$formatнеобязательно null - Строка формата strftime.
- boolean|string
$defaultнеобязательно false - Если передана недопустимая дата, будет выведено заданное значение по умолчанию. Передайте false, если вы хотите получить значение исходного преобразования.
- string|DateTimeZone
$timezoneнеобязательно null - Строка часового пояса или объект DateTimeZone
Возвращает
stringОтформатированная и переведённая строка даты
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::i18nFormatisFuturesource public static
isFuture( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )
Возвращает true, если переданная строка даты находится в будущем.
Параметры
- integer|string|DateTime
$dateString - Временная метка UNIX, допустимая строка strtotime() или объект DateTime
- string|DateTimeZone
$timezoneнеобязательно null - Строка часового пояса или объект DateTimeZone
Возвращает
booleanTrue, если строка даты находится в будущем
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::isFutureisPastsource public static
isPast( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )
Возвращает true, если переданная строка даты находится в прошлом.
Параметры
- integer|string|DateTime
$dateString - Временная метка UNIX, допустимая строка strtotime() или объект DateTime
- string|DateTimeZone
$timezoneнеобязательно null - Строка часового пояса или объект DateTimeZone
Возвращает
booleanTrue, если строка даты находится в прошлом
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::isPastisThisMonthsource public static
isThisMonth( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )
Возвращает true, если переданная строка даты находится в текущем месяце.
Параметры
- integer|string|DateTime
$dateString - Временная метка UNIX, допустимая строка strtotime() или объект DateTime
- string|DateTimeZone
$timezoneнеобязательно null - Строка часового пояса или объект DateTimeZone
Возвращает
booleanTrue, если строка даты находится в текущем месяце
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::isThisMonthisThisWeeksource public static
isThisWeek( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )
Возвращает true, если переданная строка даты находится в текущей неделе.
Параметры
- integer|string|DateTime
$dateString - Временная метка UNIX, допустимая строка strtotime() или объект DateTime
- string|DateTimeZone
$timezoneнеобязательно null - Строка часового пояса или объект DateTimeZone
Возвращает
booleanTrue, если строка даты находится в текущей неделе
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::isThisWeekisThisYearsource public static
isThisYear( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )
Возвращает true, если переданная строка даты находится в текущем году.
Параметры
- integer|string|DateTime
$dateString - Временная метка UNIX, допустимая строка strtotime() или объект DateTime
- string|DateTimeZone
$timezoneнеобязательно null - Строка часового пояса или объект DateTimeZone
Возвращает
booleanTrue, если строка даты находится в текущем году
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::isThisYearisTodaysource public static
isToday( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )
Возвращает true, если переданная строка даты соответствует текущему дню.
Параметры
- integer|string|DateTime
$dateString - Временная метка UNIX, допустимая строка strtotime() или объект DateTime
- string|DateTimeZone
$timezoneнеобязательно null - Строка часового пояса или объект DateTimeZone
Возвращает
booleanTrue, если строка даты соответствует текущему дню
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::isTodayisTomorrowsource public static
isTomorrow( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )
Возвращает true, если переданная строка даты соответствует завтрашнему дню.
Параметры
- integer|string|DateTime
$dateString - Временная метка UNIX, допустимая строка strtotime() или объект DateTime
- string|DateTimeZone
$timezoneнеобязательно null - Строка часового пояса или объект DateTimeZone
Возвращает
booleanTrue, если строка даты соответствует вчерашнему дню
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::isTomorrowisWithinNextsource public static
isWithinNext( string|integer $timeInterval , integer|string|DateTime $dateString , string|DateTimeZone $timezone null )
Возвращает true, если указанная дата находится в заданном интервале, иначе false.
Параметры
- string|integer
$timeInterval - Числовое значение с типом времени. Пример допустимых типов: 6 часов, 2 дня, 1 минута.
- integer|string|DateTime
$dateString - Временная метка UNIX, допустимая строка strtotime() или объект DateTime
- string|DateTimeZone
$timezoneнеобязательно null - Строка часового пояса или объект DateTimeZone
Возвращает
booleanbool
listTimezonessource public static
listTimezones( integer|string $filter null , string $country null , boolean $group true )
Получить список идентификаторов часовых поясов.
Параметры
- integer|string
$filterнеобязательно null - Регулярное выражение для фильтрации идентификаторов или одно из констант класса DateTimeZone (PHP 5.3 и выше)
- string
$countryнеобязательно null - Двухбуквенный код страны ISO 3166-1. Используется только при $filter, установленный в DateTimeZone::PER_COUNTRY (доступно только в PHP 5.3 и выше)
- boolean
$groupнеобязательно true - Если true (значение по умолчанию), группирует список идентификаторов по основному региону
Возвращает
arrayСписок идентификаторов часовых поясов
С версии
2.2Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::listTimezonesnicesource public static
nice( integer|string|DateTime $dateString null , string|DateTimeZone $timezone null , string $format null )
Возвращает отформатированную строку даты для заданной строки DateTime.
См. http://php.net/manual/en/function.strftime.php для информации о форматировании с использованием строк локали.
Параметры
- integer|string|DateTime
$dateStringнеобязательно null - Маркер времени Unix, строка, допустимая для strtotime(), или объект DateTime
- string|DateTimeZone
$timezoneнеобязательно null - Строка часового пояса или объект DateTimeZone
- string
$formatнеобязательно null - Формат для использования. Если null, используется
CakeTime::$niceFormat
Возвращает
stringОтформатированная строка даты
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::niceniceShortsource public static
niceShort( integer|string|DateTime $dateString null , string|DateTimeZone $timezone null )
Возвращает отформатированную описательную строку даты для заданной строки datetime.
Если заданная дата — текущий день, возвращаемая строка может быть «Сегодня, 16:54». Если заданная дата — завтра, возвращаемая строка может быть «Завтра, 16:54». Если заданная дата была вчера, возвращаемая строка может быть «Вчера, 16:54». Если заданная дата находится в течение следующей или предыдущей недели, возвращаемая строка может быть «В четверг, 16:54». Если год $dateString — текущий год, возвращаемая строка не включает указание года.
Параметры
- integer|string|DateTime
$dateStringнеобязательно null - Маркер времени Unix, строка, допустимая для strtotime(), или объект DateTime
- string|DateTimeZone
$timezoneнеобязательно null - Строка часового пояса или объект DateTimeZone
Возвращает
stringОписательная, относительная строка даты
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::niceShortserverOffsetsource public static
serverOffset( )
Возвращает смещение сервера от GMT в секундах.
Возвращает
integerСмещение
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::serverOffsettimeAgoInWordssource public static
timeAgoInWords( integer|string|DateTime $dateTime , array $options array() )
Возвращает относительную или отформатированную абсолютную дату в зависимости от разницы между текущим временем и заданным datetime. $datetime должен быть в формате, поддерживаемом strtotime, например, тип datetime MySQL.
Параметры:
-
format=> резервный формат, если относительное время превышает срок, указанный в конце -
accuracy=> Указывает, насколько точное описание даты требуется (массив) - year => Формат, если годы > 0 (по умолчанию "день") - month => Формат, если месяцы > 0 (по умолчанию "день") - week => Формат, если недели > 0 (по умолчанию "день") - day => Формат, если недели > 0 (по умолчанию "час") - hour => Формат, если часы > 0 (по умолчанию "минута") - minute => Формат, если минуты > 0 (по умолчанию "минута") - second => Формат, если секунды > 0 (по умолчанию "секунда") -
end=> Конец относительного времени -
relativeString=> Строка, совместимая с printf, при выводе прошлого относительного времени -
relativeStringFuture=> Строка, совместимая с printf, при выводе будущего относительного времени -
absoluteString=> Строка, совместимая с printf, при выводе абсолютного времени -
userOffset=> Смещение пользователя от GMT (в часах) Устарело, используйте часовой пояс вместо. -
timezone=> Часовой пояс пользователя, в котором должен быть отформатирован метка времени.
Относительные даты выглядят примерно так:
- 3 недели, 4 дня назад
- 15 секунд назад
По умолчанию формат даты — дд/мм/гггг, например: 18/02/09
Возвращаемая строка включает «назад» или «в» и предполагает, что вы правильно добавите слово, такое как «Опубликовано», перед выводом функции.
ПРИМЕЧАНИЕ: Если разница составляет одну неделю или более, то минимальная точность — день
Параметры
- integer|string|DateTime
$dateTime - Дата и время Маркер времени Unix, строка, допустимая для strtotime(), или объект DateTime
- array
$optionsнеобязательно array() - Формат по умолчанию, если метка времени используется в $dateString
Возвращает
stringСтрока относительного времени.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::timeAgoInWordstimezonesource public static
timezone( string|DateTimeZone $timezone null )
Возвращает объект часового пояса из строки или объекта часового пояса пользователя
Параметры
- string|DateTimeZone
$timezoneнеобязательно null - Строка часового пояса или объект DateTimeZone Если null, он пытается получить часовой пояс из конфигурационной переменной 'Config.timezone'
Возвращает
DateTimeZoneОбъект часового пояса
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::timezonetoAtomsource public static
toAtom( string $dateString , string|DateTimeZone $timezone null )
Возвращает дату, отформатированную для Atom RSS лент.
Параметры
- string
$dateString - Строка даты и времени или метка времени Unix
- string|DateTimeZone
$timezoneнеобязательно null - Строка часового пояса или объект DateTimeZone
Возвращает
stringОтформатированная строка даты
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::toAtomtoQuartersource public static
toQuarter( integer|string|DateTime $dateString , boolean $range false )
Возвращает квартал
Параметры
- integer|string|DateTime
$dateString - Маркер времени Unix, строка, допустимая для strtotime(), или объект DateTime
- boolean
$rangeнеобязательно false - если true, возвращает диапазон в формате ГГГГ-ММ-ДД
Возвращает
integer|array1, 2, 3 или 4 квартал года или массив, если $range true
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::toQuartertoRSSsource public static
toRSS( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )
Форматирует дату для RSS лент
Параметры
- integer|string|DateTime
$dateString - Маркер времени Unix, строка, допустимая для strtotime(), или объект DateTime
- string|DateTimeZone
$timezoneнеобязательно null - Строка часового пояса или объект DateTimeZone
Возвращает
stringОтформатированная строка даты
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::toRSStoServersource public static
toServer( integer|string|DateTime $dateString , string|DateTimeZone $timezone null , string $format 'Y-m-d H:i:s' )
Возвращает отформатированную дату в часовом поясе сервера.
Если задан объект DateTime или сегмент часового пояса в строке даты, параметр часового пояса будет проигнорирован.
Если параметр часового пояса не задан и нет объекта DateTime, то передаваемая $dateString будет считаться в часовом поясе UTC.
Параметры
- integer|string|DateTime
$dateString - Маркер времени Unix, строка, допустимая для strtotime(), или объект DateTime
- string|DateTimeZone
$timezoneнеобязательно null - Строка часового пояса или объект DateTimeZone
- string
$formatнеобязательно 'Y-m-d H:i:s' - Строка формата даты
Возвращает
mixedОтформатированная дата
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::toServertoUnixsource public static
toUnix( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )
Возвращает метку времени UNIX из текстового описания даты и времени. Обёртка для функции PHP strtotime().
Параметры
- integer|string|DateTime
$dateString - Метка времени UNIX, допустимая строка для strtotime() или объект DateTime
- string|DateTimeZone
$timezoneнеобязательно null - Строка часового пояса или объект DateTimeZone
Возвращает
integerМетка времени UNIX
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::toUnixwasWithinLastsource public static
wasWithinLast( string|integer $timeInterval , integer|string|DateTime $dateString , string|DateTimeZone $timezone null )
Возвращает true, если указанная дата и время находилась в заданном интервале, в противном случае - false.
Параметры
- string|integer
$timeInterval - Числовое значение с указанием типа времени. Примеры допустимых типов: 6 часов, 2 дня, 1 минута.
- integer|string|DateTime
$dateString - Метка времени UNIX, допустимая строка для strtotime() или объект DateTime
- string|DateTimeZone
$timezoneнеобязательно null - Строка часового пояса или объект DateTimeZone
Возвращает
booleanbool
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::wasWithinLastwasYesterdaysource public static
wasYesterday( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )
Возвращает true, если заданная строка даты и времени была вчера.
Параметры
- integer|string|DateTime
$dateString - Метка времени UNIX, допустимая строка для strtotime() или объект DateTime
- string|DateTimeZone
$timezoneнеобязательно null - Строка часового пояса или объект DateTimeZone
Возвращает
booleanTrue, если строка даты и времени была вчера
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::wasYesterdayКраткое описание свойств
© 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/2.7/class-CakeTime.html