WordPress

wp_date()


Получает локализованную дату (переведенную на текущий язык) из переданной метки времени unix. Локализация PHP функции date().

Если в выводимой дате используется формат с месяцем или неделей в виде строки, то функция попытается перевести их на текущий язык. В остальных случаях — это аналог date() в PHP.

Это новая функция (введенная в версии 5.3), которая должна полностью заменить функцию date_i18n().

Заметка: этой функции, в отличии от date_i18n(), нужно передавать «реальную» метку времени Unix (метку в UTC/GMT формате, без добавления к ней сдвижки временной зоны). Сдвижка временной зоны добавляется автоматически внутри функции на основе третьего параметра $timezone.

Указать произвольную сдвижку временной зоны можно в третьем параметре $timezone.

Является основой для: date_i18n()
Работает на основе: WP_Locale(), wp_timezone()
Хуки из функции
Возвращает

Строку/false. Переведенную дату. False когда введена неправильная метка времени.

Использование

wp_date( $format, $timestamp, $timezone );
$format(строка) (обязательный)
Формат в котором выводить дату, пример: F j, Y — Ноябрь 6, 2010. Полный список форматов.
$timestamp(число)
Метка времени Unix из которой будет получена дата в указанном формате. По умолчанию используется текущая метка time().
По умолчанию: current time
$timezone(DateTimeZone)
Временная зона, которая будет наложена на указанную метку времени. По умолчанию: wp_timezone().
По умолчанию: текущая временная зона сайта (из опций сайта)

Примеры

#1 Локализация php функции date() в WordPress

Демонстрация работы функции:

// текущее время
echo wp_date( 'j F Y H:i:s' ); // 21 ноября 2019 17:52:15 (учитывается временная зона +5 часов)
echo date( 'j F Y H:i:s' );    // 21 November 2019 12:52:15 (UTC время)

// указанное время
echo wp_date( 'j F Y H:i:s', 0 );  // 1 января 1970 06:00:00

echo wp_date( 'j M Y H:i:s', strtotime('1999-11-15') );                          // 15 Ноя 1999 05:00:00 (учитывается временная зона +5 часов)
echo wp_date( 'j M Y H:i:s', strtotime('1999-11-15'), new DateTimeZone('UTC') ); // 15 Ноя 1999 00:00:00 (UTC время)