Функции даты и времени в WordPress

В WordPress есть функции, позволяющие узнавать и выводить текущее время и время публикации текущей записи или комментария. В функциях the_date(), the_time() и др.для задания форматирования времени и даты используется строка форматирования.
Например, шаблон l, F j, Y задает дату в виде Thursday, November 11, 2010
Время публикации текущей записи: get_the_time(), the_time(), get_the_date(), the_date()
Время публикации комментария: comment_time(), get_comment_time()
Текущее время: current_time()
Некоторые возможные составляющие шаблона формата даты и времени

Функции даты и времени, описанные в Кодексе:

Время публикации текущей записи внутри цикла WordPress

get_the_time()

Извлекает время текущей записи

<?php get_the_time( $d, $post ); ?>

$d (string) (optional) Задает формат времени; по умолчанию используется формат, заданный в настройках блога.
$post (integer/object) (optional) ID записи или объект; по умолчанию: null. глобальный объект $post
Время в формате времени по умолчанию для записи с id=$post->ID:

<?php echo get_the_time('', $post->ID); ?>

в секундах

<?php $u_time = get_the_time('U'); ?>

the_time()

<?php the_time( $d ); ?>

Время в формате даты можно использовать вместо the_date():

<p>Дата (день, месяц, год) и время в 24-часовом формате публикации записи:</p>
<p><?php the_time('j F, Y'); ?> в <?php the_time('G:i'); ?></p>

get_the_date()

извлекает дату написания текущей записи, всегда возвращает дату

<?php get_the_date( $d ); ?>

the_date()

выводит или возвращает (для использования в PHP-коде) дату записи или нескольких записей, созданных в один день.

 <?php the_date( $format, $before, $after, $echo ); ?>
This entry was posted on <?php the_time('l, F jS, Y') ?> and is filed under <?php the_category(', ') ?>.
This entry was posted on Friday, September 24th, 2004 and is filed under WordPress and WordPress Tips.

Также см.

Время публикации комментария

<p> <?php comment_time('H:i:s'); ?></p>

Извлекает это значение функция get_comment_time()

Локализация

Для локализации используется функция date_i18n(). Также см. функции __(), _e(): get_the_date(__(…));

Текущее время

Вместо PHP-функции time() или mktime() или date() в WordPress предлагается собственная функция:

current_time()

current_time($type, $gmt = 0);

$type (string) - формат возврата времени mysql или timestamp

$gmt (integer) (optional) - временная зона: 1 - GMT или 0 - локальное время (по умолчанию)

Определение текущего времени и присвоение значений его составляющих переменным (например, 2010-08-20 10:41:13):

<?php
  $blogtime = current_time('mysql');
  list( $today_year, $today_month, $today_day, $hour, $minute, $second ) = split( '([^0-9])', $blogtime );
?>

Подробнее

Форматирование: некоторые составляющие шаблона формата даты и времени

день месяца
d числа с начальным нулем 01–31
j числа без начального нуля 1–31
S суффикс английского порядкового числительного для дня месяца (j) st, nd, rd или th
день недели
l полное название Sunday – Saturday
D трехбуквенное сокращение Mon – Sun
месяц
m числа с начальным нулем 01–12
n числа без начального нуля 1–12
F полное текстовое название January – December
M трехбуквенное сокращение Jan - Dec
год
Y 4 цифры 1999, 2010
y 2 последние цифры 99, 10
время
a в нижнем регистре am, pm
A в верхнем регистре AM, PM
g часы в 12-часовом формате без начального нуля 1–12
h часы в 12-часовом формате с начальным нулем 01–12
G часы в 24-часовом формате без начального нуля 0-23
H часы в 24-часовом формате с начальным нулем 00-23
i минуты с начальным нулем 00-59
s секунды с начальным нулем 00-59
T Временная зона EST, MDT ...

Подробнее: форматирование даты и времени в PHP

Функции даты и времени в WordPress: 9 комментариев

  1. Михаил

    Очень полезная информация!... Может вы еще подскажите почему у меня время запланированных статей выходит в непонятное время... например запланирую в 03.00, а в итоге она публикуется после 11-12... это где-то настраивается?

    1. Admin Автор записи

      Возможно, на сайте не задан часовой пояс? Тогда все должно быть просто: зайдите в настройки Параметры - Общие и выберите Часовой пояс

  2. Наталия

    Помогите, пожалуйста, разобраться. Что конкретно нужно вставить в шаблон, чтобы получить в результате вывод в определённом месте текущей даты и времени в формате, например, 05.02.2014, 15:42

  3. Илья

    Где бы почитать про работу WP с часовым поясом? сижу в Москве, +3. В админке указал часовой пояс +3; при этом новости и комментарии создаются с правильным текущим временем. Но смущает разница в показаниях WP фунций времени, вывода времени в админке, и текущего времени.
    Текущее время получаю так: echo ' PHP time: '.date( 'Y-m-d H:i:s O');
    Получаю PHP time: 2017-01-18 20:19:09 +0300
    Вызываю функцию WP: echo 'WP time: '.current_time('c');
    Получаю: WP time: 2017-01-18T23:19:09+03:00
    Ну и в админке ниже поля выбора часового пояса висит: "Всемирное координированное время (UTC): 18.01.2017 20:25:52. Местное время: 18.01.2017 23:25:52."

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *