Spec-Zone.ru › CakePHP 2.7

Класс CakeTime

Класс-помощник для работы со временем, упрощающий использование временных данных.

Обработка временных данных.

Пакет: Cake\Утилиты
Авторские права: Авторские права (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::convert

convertSpecifiersисточник 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::convertSpecifiers

dayAsSqlисточник 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::dayAsSql

daysAsSqlисточник 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::daysAsSql

formatисточник 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::format

fromStringисточник 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::fromString

gmtисточник 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::gmt
END_OF_DOCUMENT_MARKER

i18nFormatsource 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::i18nFormat

isFuturesource public static

isFuture( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )

Возвращает true, если переданная строка даты находится в будущем.

Параметры

integer|string|DateTime $dateString
Временная метка UNIX, допустимая строка strtotime() или объект DateTime
string|DateTimeZone $timezone необязательно null
Строка часового пояса или объект DateTimeZone

Возвращает

boolean
True, если строка даты находится в будущем

Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::isFuture

isPastsource public static

isPast( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )

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

Параметры

integer|string|DateTime $dateString
Временная метка UNIX, допустимая строка strtotime() или объект DateTime
string|DateTimeZone $timezone необязательно null
Строка часового пояса или объект DateTimeZone

Возвращает

boolean
True, если строка даты находится в прошлом

Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::isPast

isThisMonthsource public static

isThisMonth( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )

Возвращает true, если переданная строка даты находится в текущем месяце.

Параметры

integer|string|DateTime $dateString
Временная метка UNIX, допустимая строка strtotime() или объект DateTime
string|DateTimeZone $timezone необязательно null
Строка часового пояса или объект DateTimeZone

Возвращает

boolean
True, если строка даты находится в текущем месяце

Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::isThisMonth

isThisWeeksource public static

isThisWeek( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )

Возвращает true, если переданная строка даты находится в текущей неделе.

Параметры

integer|string|DateTime $dateString
Временная метка UNIX, допустимая строка strtotime() или объект DateTime
string|DateTimeZone $timezone необязательно null
Строка часового пояса или объект DateTimeZone

Возвращает

boolean
True, если строка даты находится в текущей неделе

Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::isThisWeek

isThisYearsource public static

isThisYear( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )

Возвращает true, если переданная строка даты находится в текущем году.

Параметры

integer|string|DateTime $dateString
Временная метка UNIX, допустимая строка strtotime() или объект DateTime
string|DateTimeZone $timezone необязательно null
Строка часового пояса или объект DateTimeZone

Возвращает

boolean
True, если строка даты находится в текущем году

Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::isThisYear

isTodaysource public static

isToday( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )

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

Параметры

integer|string|DateTime $dateString
Временная метка UNIX, допустимая строка strtotime() или объект DateTime
string|DateTimeZone $timezone необязательно null
Строка часового пояса или объект DateTimeZone

Возвращает

boolean
True, если строка даты соответствует текущему дню

Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::isToday

isTomorrowsource public static

isTomorrow( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )

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

Параметры

integer|string|DateTime $dateString
Временная метка UNIX, допустимая строка strtotime() или объект DateTime
string|DateTimeZone $timezone необязательно null
Строка часового пояса или объект DateTimeZone

Возвращает

boolean
True, если строка даты соответствует вчерашнему дню

Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::isTomorrow

isWithinNextsource 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

Возвращает

boolean
bool

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::listTimezones

nicesource 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::nice

niceShortsource 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::niceShort

serverOffsetsource public static

serverOffset( )

Возвращает смещение сервера от GMT в секундах.

Возвращает

integer
Смещение

Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::serverOffset

timeAgoInWordssource 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::timeAgoInWords

timezonesource 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::timezone

toAtomsource 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::toAtom

toQuartersource public static

toQuarter( integer|string|DateTime $dateString , boolean $range false )

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

Параметры

integer|string|DateTime $dateString
Маркер времени Unix, строка, допустимая для strtotime(), или объект DateTime
boolean $range необязательно false
если true, возвращает диапазон в формате ГГГГ-ММ-ДД

Возвращает

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

Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::toQuarter

toRSSsource 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::toRSS

toServersource 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::toServer

toUnixsource 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::toUnix

wasWithinLastsource 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

Возвращает

boolean
bool

Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::wasWithinLast

wasYesterdaysource public static

wasYesterday( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )

Возвращает true, если заданная строка даты и времени была вчера.

Параметры

integer|string|DateTime $dateString
Метка времени UNIX, допустимая строка для strtotime() или объект DateTime
string|DateTimeZone $timezone необязательно null
Строка часового пояса или объект DateTimeZone

Возвращает

boolean
True, если строка даты и времени была вчера

Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/helpers/time.html#TimeHelper::wasYesterday

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

$_timesource

protected static integer

Временная переменная, содержащая значение метки времени, используемая во внутренней функции convertSpecifiers()

null

$niceFormatsource

public static string

Формат, используемый при форматировании времени с помощью CakeTime::nice()

Формат должен использовать локальные строки, определённые в документации PHP по strftime (http://php.net/manual/en/function.strftime.php)

См. также

CakeTime::format()
'%a, %b %eS %Y, %H:%M'

$niceShortFormatsource

public static string

Формат, используемый при форматировании времени с помощью CakeTime::niceShort() и разницей от 3 до 7 дней

См. также

CakeTime::niceShort()
'%B %d, %H:%M'

$wordAccuracysource

public static array

Формат, используемый при форматировании времени с помощью CakeTime::timeAgoInWords() и разницей меньше CakeTime::$wordEnd

См. также

CakeTime::timeAgoInWords()
array(
    'year' => 'day',
    'month' => 'day',
    'week' => 'day',
    'day' => 'hour',
    'hour' => 'minute',
    'minute' => 'minute',
    'second' => 'second',
)

$wordEndsource

public static string

Конец относительного указания времени

См. также

CakeTime::timeAgoInWords()
'+1 month'

$wordFormatsource

public static string

Формат, используемый при форматировании времени с помощью CakeTime::timeAgoInWords() и разницей больше CakeTime::$wordEnd

См. также

CakeTime::timeAgoInWords()
'j/n/y'

© 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

Spec-Zone.ru

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