waDatetime

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

Содержание...

Методы

  • date

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

  • format

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

  • getDefaultTimeZone

    Возвращает используемую по умолчанию временную зону с помощью PHP-функции date_default_timezone_get.

  • getFormat

    Возвращает стандартное представление форматов для PHP-функции date, соответствующих форматам, использующимся во фреймворке.

  • getFormatJS

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

  • getTimeZones

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

  • parse

    Возвращает стандартное для PHP строковое представление времени, указанного в одном из форматов, которые используются во фреймворке.

  • getWeekdayNames

    Возвращает названия дней недели.

  • getMonthNames

    Возвращает названия месяцев.

public static function date ($format, $time = null, $timezone = null, $locale = null)

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

Параметры

  • $format

    Формат представления даты. Допускается использовать символы формата, предусмотренные для PHP-функции date. Для отображения наименования месяца в нижнем регистре необходимо использовать символ f.

  • $time

    Метка времени. Если не указано, используется текущая метка времени.

  • $timezone

    Строковый идентификатор временной зоны. Если не указано, используется автоматическое определение временной зоны.

  • $locale

    Строковый идентификатор локали. Если не указано, используется автоматическое определение локали.

Пример

waDateTime::date('j f Y года', '06-11-2013')

Результат

6 ноября 2013 года

public static function format ($format, $time = null, $timezone = null, $locale = null)

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

Параметры

  • $format

    Формат представления даты/времени. Допускается использовать следующие обозначения формата:

    • humandatetime: подставляет слова «вчера», «сегодня», «завтра» вместо соответствующих дат относительно текущей даты пользователя
    • humandate: возвращает дату в формате d f Y, предназначенном для метода date (перечисленные далее форматы предназначены для использования этим же методом)
    • date: возвращает дату в формате Y-m-d
    • time: возвращает дату в формате H:i
    • fulltime: возвращает дату в формате H:i:s
    • datetime: возвращает дату в формате Y-m-d H:i
    • fulldatetime: возвращает дату в формате Y-m-d H:i:s
    • timestamp: возвращает дату в формате U
  • $time

    Метка времени. Если не указано, используется текущая метка времени.

  • $timezone

    Строковый идентификатор временной зоны. Если не указано, используется автоматическое определение временной зоны.

  • $locale

    Строковый идентификатор локали. Если не указано, используется автоматическое определение локали.

Пример

waDateTime::format('humandatetime')

Результат

Сегодня 17:11

PHP-функции

function wa_date ($format, $time = null, $timezone = null, $locale = null)

Обертка для вызова метода format.

Пример

wa_date('humandatetime')

Результат

Сегодня 17:11

Модификаторы Smarty

  • wa_date

    Форматирует метку времени средствами метода format. По умолчанию используется строка формата date.

  • wa_datetime

    Форматирует метку времени средствами метода format. По умолчанию используется строка формата datetime.

public static function getDefaultTimeZone()

Возвращает временную зону, используемую по умолчанию, с помощью PHP-функции date_default_timezone_get.

Пример

waDateTime::getDefaultTimeZone()

Результат

Europe/Moscow

public static function getFormat ($format, $locale = null)

Возвращает стандартное представление форматов для PHP-функции date, соответствующих форматам, использующимся во фреймворке.

Параметры

  • $format

    Строковый идентификатор формата отображения времени, использующегося во фреймворке. Допускается использовать ключи подмассива date_formats, содержащегося в конфигурационном файле локали в директории wa-system/locale/data/, константы PHP-класса DateTime, строки формата, допустимые для PHP-функции date, либо один из идентификаторов, соответствующих предопределенным строкам формата отображения времени, описанным для метода format.

  • $locale

    Строковый идентификатор локали. Если не указано, используется автоматическое определение локали.

Пример

waDateTime::getFormat ('humandate', 'en_US')

Результат

F j, Y

public static function getFormatJS ($format, $locale = null)

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

Параметры

  • $format

    Строковый идентификатор формата, описанный для параметра $format метода getFormat.

  • $locale

    Строковый идентификатор локали. Если не указано, используется автоматическое определение локали.

Пример

waDateTime::getFormatJS ('humandate', 'en_US')

Результат

MM d, yy

public static function getTimeZones()

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

Пример

waDateTime::getTimeZones()

Результат

[
    [Pacific/Apia] => −11 Апия, Миндуэй, Ниуэ, Паго-Паго
    [Pacific/Fakaofo] => −10 Факаофо, Гонолулу, Джонсон, Раротонга, Таити
    [America/Adak] => −09 Адак
    [Pacific/Gambier] => −09 Остров Гамбье, Маркизы
    [America/Anchorage] => −08 Анкоридж, Джуно, Ном, Sitka, Якутат
    [Pacific/Pitcairn] => −08 Питкэрн
    ...
    [Asia/Anadyr] => +12 Анадырь, Камчатка, Магадан
    [Pacific/Auckland] => +12 Окленд, Чатэм, Фиджи, Фунафути, Кваджалейн
    [Pacific/Majuro] => +12 Маджуро, Науру, Тарава, Уэйк, Уоллис
    [Pacific/Enderbury] => +13 Эндербери, Тонгатапу
    [Pacific/Kiritimati] => +14 Киритимати
]

public static function parse ($format, $string, $timezone = null, $locale = null)

Возвращает стандартное для PHP строковое представление времени, указанного в одном из форматов, которые используются во фреймворке.

Параметры

  • $format

    Строковый идентификатор формата, описанный для метода format, кроме humandatetime.

  • $string

    Строковое представление времени, отформатированное в соответствии со строкой формата, указанной в параметре $format.

  • $timezone

    Строковый идентификатор временной зоны. Если не указано, используется автоматическое определение временной зоны.

  • $locale

    Строковый идентификатор локали. Если не указано, используется автоматическое определение локали.

Пример

waDateTime::parse('humandate', 'November 8, 2013', null, 'en_US')

Результат

2013-11-08

PHP-функции

function wa_parse_date ($format, $string, $timezone = null, $locale = null)

Обертка для вызова метода parse.

Пример

wa_parse_date ('humandate', 'November 8, 2013', null, 'en_US')

Результат

2013-11-08

public static function getWeekdayNames ($case = 'ucfirst', $length = 'full')

Возвращает названия дней недели.

Параметры

  • $case

    Обозначение регистра букв в названиях дней недели:

    • 'ucfirst': первая буква в верхнем регистре, остальные — в нижнем;
    • 'lower': все буквы в нижнем регистре.
  • $length

    Обозначение длины названий:

    • 'full': полные названия;
    • любое другое значение: сокращённые названия.

Пример

waDateTime::getWeekdayNames()

Результат

[
    1 => 'Понедельник',
    2 => 'Вторник',
    3 => 'Среда',
    4 => 'Четверг',
    5 => 'Пятница',
    6 => 'Суббота',
    7 => 'Воскресенье',
]

Пример

waDateTime::getWeekdayNames('lower', false)

Результат

[
    1 => 'пн',
    2 => 'вт',
    3 => 'ср',
    4 => 'чт',
    5 => 'пт',
    6 => 'сб',
    7 => 'вс',
]

public static function getMonthNames ($n = 1, $case = 'ucfirst')

Возвращает названия месяцев.

Параметры

  • $n

    Число, обозначающее форму названия месяца:

    • 1: в именительном падеже: «январь».
    • 2: в родительном падеже: «января». Можно использовать с локалями, в конфигурации которых в параметре date_formats[humandate] для обозначения названия месяца используется плейсхолдер f.
  • $case

    Обозначение регистра букв в названиях:

    • 'ucfirst': первая буква в верхнем регистре, остальные — в нижнем;
    • 'lower': все буквы в нижнем регистре.

Пример

waDateTime::getMonthNames()

Результат

[
    1 => 'Январь',
    2 => 'Февраль',
    3 => 'Март',
    4 => 'Апрель',
    5 => 'Май',
    6 => 'Июнь',
    7 => 'Июль',
    8 => 'Август',
    9 => 'Сентябрь',
    10 => 'Октябрь',
    11 => 'Ноябрь',
    12 => 'Декабрь',
]

Пример

waDateTime::getMonthNames(2, 'lower')

Результат

[
    1 => 'января',
    2 => 'февраля',
    3 => 'марта',
    4 => 'апреля',
    5 => 'мая',
    6 => 'июня',
    7 => 'июля',
    8 => 'августа',
    9 => 'сентября',
    10 => 'октября',
    11 => 'ноября',
    12 => 'декабря',
  ]