Хранение даты в MySQL с учетом часового пояса — непростая тема. Однако с ней обязательно нужно разобраться, чтобы сайты и приложения работали правильно.
Время и дату в MySQL можно указывать в TIMESTAMP и DATETIME.
- DATETIME — здесь время не зависит от часового пояса и выводится в том виде, в котором было изначально задано. Изменение времени в MySQL не позволяет изменить значение в DATETIME. Его удобно использовать для хранения дат.
- TIMESTAMP — абсолютное значение времени с начала эпохи Unix (с 00:00 1 января 1970 года). При выводе этого значения учитывается часовой пояс, который может быть указан для системы, MySQL в целом или конкретной сессии. Его удобно использовать для хранения времени публикаций на сайте, совершения заказов и других событий, которые происходят в режиме реального времени.
Для определения времени с учетом часового пояса MySQL можно отредактировать конфигурационный файл или использовать переменные. Мы рассмотрим оба способа.
Как установить время MySQL в конфигурационном файле
Самая большая проблема — найти конфигурационный файл my.cnf. Он может храниться как минимум в 5 местах:
- /etc/my.cnf
- /etc/mysql/my.cnf
- $MYSQL_HOME/my.cnf
- [datadir]/my.cnf
- ~/.my.cnf
Если вы нашли конфигурационный файл, то дальше уже сложностей не будет. Чтобы установить часовой пояс, добавьте в секцию [mysqld] следующую строку:
default-time-zone='+02:00'
В этом случае мы прибавляем 2 часа относительно UTC — всемирного координированного времени. Поддерживаются также другие значения:
- ‘SYSTEM’ — часовой пояс сервера совпадает с системным часовым поясом;
- именованный часовой пояс — например, ‘Europe/Moscow’.
Чтобы применить конфигурацию, перезапустите MySQL.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Как установить часовой пояс MySQL через переменные
Чтобы изменить часовой через переменные в консоли, нужны права суперпользователя. Авторизуйтесь под root и укажите пароль. Затем посмотрите текущие дату и время. Сделать это можно командой
Если хотите вывести только время (без даты), выполните в консоли
Установить часовой пояс для конкретного пользователя можно через консоль, выполнив команду
SET time_zone = '+02:00';
В качестве примера мы поставили время, которое смещено относительно UTC на 2 часа. Однако у такого подхода есть большой недостаток. Если в стране принято переводить часы на летнее/зимнее время, то запрос обрабатывается неверно. В зависимости от текущего периода можно получить время на час больше или меньше. Чтобы устранить эту особенность, задайте временную зону в таком формате:
SET time_zone = 'Europe/Moscow';
Однако и у такого подхода есть свои подводные камни. Например, в стране могут измениться правила перехода на зимнее и летнее время. В России за последнее десятилетие это случилось два раза: сначала перешли на летнее время, отказавшись от зимнего, а затем сделали наоборот — отказались от летнего, оставив только зимнее. Поэтому нужно следить за актуальностью данных и вносить изменения в часовые пояса MySQL вручную.
Чтобы изменения сохранялись после перезагрузки и применялись ко всему серверу баз данных, используйте глобальную переменную:
SET GLOBAL time_zone = '+2:00';
или
SET GLOBAL time_zone = 'Europe/Moscow';
Также можно задавать время опционально для одной сессии. Для этого выполните команду
mysql> set @@session.time_zone = '+02:00';
Можно проверить, требуется ли задавать время для конкретной сессии, выполнив команду
mysql> SELECT @@global.time_zone, @@session.time_zone;
Если время сессии совпадает с системным, то задавать его отдельно не требуется.
Для корректной работы веб-приложения время PHP и MySQL должны совпадать. Если вы корректируете время в PHP, то нужно изменить часовой пояс MySQL, и наоборот.
На этом уроке мы познакомимся с объектом Date языка JavaScript и научимся его использовать на практике.
Создание даты – 4 примера
В JavaScript создание даты осуществляется с помощью объекта Date. Объект Date представляет собой точку на оси времени и предназначен для хранения даты и времени с точностью до миллисекунды.
Примеры создания даты в JavaScript.
1. Создание текущей даты и времени.
Получить текущую дату и время в JavaScript осуществляется посредством создания экземпляра объекта Date без указания параметров:
// текущая дата (дата и время, которая была в момент создания экземпляра объекта Date на локальном компьютере пользователя) var now = new Date(); // например, выведем текущую дату в консоль console.log(now);
Если нужно получить только сегодняшнюю дату в формате строки, то можно воспользоваться методом toLocaleDateString:
var now = new Date().toLocaleDateString(); // 19.12.2019
Текущее время пользователя можно получить так:
var now = new Date().toLocaleTimeString(); // 11:02:48 var now = new Date().toLocaleTimeString().slice(0,-3); // 11:02
Дату и время в формате строки можно получить следующим образом:
var now = new Date().toLocaleString(); // 19.12.2019, 11:02:48
2. Создание даты путём указания объекту Date количества миллисекунд, прошедших с 1 января 1970 00:00:00 UTC.
// 1 год (не высокосный) = 365*24*60*60*1000 = 31536000000 мс // например, создадим дату 01.01.1971, 00:00:00 по UTC: var date1 = new Date(31536000000);
3. Создание даты посредством указания её объекту Date в виде строки.
При этом варианте создания даты JavaScript попытается понять переданную ей строку и сформировать на основе её дату. Преобразование строки в дату в JavaScript осуществляется с помощью метода Date.parse.
Например:
// создание даты на основе строки в формате DD.MM.YY
var date1 = new Date('05.11.19');
// создадим дату на основе строки в формате YYYY-MM-DDThh:mm:ss.sss (символ T используется для разделения даты и времени)
var date2 = new Date('2015-02-24T21:23');
// создадим дату на основе строки с указанием часового пояса (формат YYYY-MM-DDThh:mm:ss.sss±hh:mm):
var date3 = new Date('2015-02-24T22:02+03:00');
4. Создание даты посредством указания следующих параметров через запятую: год (4 цифры), месяц (отсчёт ведётся с 0), день (1..31), часы (0..23), минуты (0..59), секунды (0..59), миллисекунды (0..999). Причём обязательными из них являются только первые два параметра.
Пример создания даты с указанием только обязательных параметров:
// создадим дату 01.01.2015 (неуказанные параметры по умолчанию равны: число - 01, часы - 00, минуты - 00, секунды - 00, миллисекунды – 000). var date1 = new Date(2015,01); // создадим дату 24.01.2015, 21:23 var date2 = new Date(2015,01,24,21,23);
Примечание: Если Вам необходимо установить дату и время в UTC, то можно воспользоваться методом Date.UTC.
//1 пример var date1 = Date.UTC(2015,1,1); var date2 = new Date(date1); alert(date2.toUTCString()); //2 пример var newDate = new Date(Date.UTC(2015,1,1)); alert(newDate.toUTCString());
Получение отдельных компонентов даты и времени
В JavaScript для получения отдельных компонентов даты и времени предназначены следующие методы:
getFullYear()– возвращает год, состоящий из 4 чисел;getMonth()– возвращает месяц в формате числа от 0 до 11 (0 – январь, 1 – февраль, 2 – март, …, 11 – декабрь);getDate()– возвращает число месяца от 1 до 31;getHours()– возвращает количество часов от 0 до 23;getMinutes()– возвращает количество минут от 0 до 59;getSeconds()– возвращает количество секунд от 0 до 59;getMilliseconds()– возвращает количество миллисекунд от 0 до 999.
Все эти методы возвращают отдельные компоненты даты и времени в соответствии с часовым поясом установленном на локальном устройстве пользователя.
Пример:
// создадим дату 11.11.2019 00:00 по UTC var newDate = new Date(Date.UTC(2019,11,11)); // получим компоненты даты, если на устройстве пользователя местное время равно UTC+10:00 newDate.getFullYear(); //2019 newDate.getMonth(); // 10 newDate.getDate(); // 11 newDate.getHours(); // 10 newDate.getMinutes(); // 0 newDate.getSeconds(); // 0 newDate.getMilliseconds(); // 0
Пример, в котором поприветствуем пользователя в зависимости от того какой сейчас у него интервал времени:
// получим текущее время пользователя и компоненты этого времени
var
now = new Date(),
hour = now.getHours(),
minute = now.getMinutes(),
second = now.getSeconds(),
message = '';
// определим фразу приветствия в зависимости от местного времени пользователя
if (hour <= 6) {
message = 'Доброе время суток';
} else if (hour <= 12) {
message = 'Доброе утро';
} else if (hour <= 18) {
message = 'Добрый день';
} else {
message = 'Добрый вечер';
}
// выполним форматирование времени с использованием тернарного оператора
minute = (minute < 10) ? '0' + minute : minute;
second = (second < 10) ? '0' + second : second;
hour = (hour < 10) ? '0' + hour : hour;
message += ', сейчас ' + hour + ':' + minute + ':' + second;
// выведем приветствие и время в консоль
console.log(message); // Добрый вечер, сейчас 22:50:39
В этом примере вывод времени в нужном формате осуществлён с использованием тернарного оператора.
В JavaScript имеются аналоги этих методов для получения отдельных компонентов даты и времени для часового пояса UTC+0. Эти методы называются аналогично, но с добавленным «UTC» после «get»: getUTCFullYear(), getUTCMonth(), getUTCDate(), getUTCHours(), getUTCMinutes(), getUTCSeconds(), getMilliseconds().
Получить номер дня недели в JavaScript можно с помощью метода getDay().
Данный метод возвращает число от 0 до 6 (0 – воскресенье, 1 – понедельник, …, 6 – суббота).
Пример, в котором переведём день недели из числового в строковое представление:
var days =["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"];
// получим текущую дату
var now = new Date();
// выведем в консоль день недели
console.log('Сегодня ' + days[now.getDay()]);
Получить количество миллисекунд прошедших с 01.01.1970 00:00:00 UTC в JavaScript можно с помощью метода getTime().
Узнать разницу (в минутах) между часовым поясом локального устройства и UTC в JavaScript можно с помощью метода getTimezoneOffset().
Установка отдельных компонентов даты и времени
В JavaScript установить отдельные компоненты даты и времени можно с помощью следующих методов объекта Date:
setFullYear(year [, month, date])– установка года (дополнительно можно задать ещё месяц и число);setMonth(month [, date])– установка месяца от 0 до 11 (0 – январь, 1 – февраль, 2 – март, …, 11 – декабрь); дополнительно этот метод позволяет ещё установить число;setDate(date)– установка числа;setHours(hour [, min, sec, ms])– устанавливает час от 0 до 23 (дополнительно можно ещё установить минуты, секунды и миллисекунды);setMinutes(min [, [sec, ms])– устаналивает минуты от 0 до 59 (дополнительно можно установить ещё секунды и миллисекунды);setSeconds(sec, [ms])– устанавливает секунды от 0 до 59 (дополнительно можно установить ещё миллисекунды);setMilliseconds(ms)– устанавливает миллисекунды (от 0 до 999).
Все эти методы предназначены для установки даты и времени в часовом поясе, установленном на компьютере пользователя.
// создадим экземпляр объекта Date, содержащий текущую дату var newDate = new Date(); // установим год newDate.setFullYear(2019); // установим год и месяц newDate.setFullYear(2019, 08); // установим 20.09.2019 newDate.setFullYear(2019, 08, 20); // установим месяц newDate.setMonth(05); // установим месяц и число newDate.setMonth(05, 15); // установим число newDate.setDate(28); // установим час newDate.setHours(13); //установим час и минуты newDate.setHours(13,20);
В JavaScript установка даты и времени в часовом поясе UTC+0 осуществляется с помощью следующих методов: setUTCFullYear(), setUTCMonth(), setUTCDate(), setUTCHours(), setUTCMinutes(), setUTCSecondes(), setUTCMilliseconds().
Установка даты и времени с помощью количества миллисекунд, прошедших с 01.01.1970 00:00:00 UTC осуществляется с помощью и тогда setTime().
Кроме этого, в JavaScript указание некорректных компонентов даты и времени не приводит к ошибкам, они просто автоматически распределятся по остальным.
Например:
// число 44 распределится следующим образом: 44 - 31 = 13, 13 февраля 2019 newDate.setFullYear(2019, 01, 44);
Этот приём можно использовать когда вам нужно получить дату, отличающуюся от данной на определённый промежуток времени.
Примеры:
// дата, которая будет больше newDate на 7 дней newDate.setDate(date1.getDate() + 7); // дата, которая будет меньше newDate на 120 секунд newDate.setSeconds(date1.getSeconds()-120); // так можно установить последнее число предыдущего месяца для newDate newDate.setDate(0);
Преобразование даты в строку и её форматирование
В JavaScript методы, выполняющие преобразование даты в строку, можно разделить на 2 группы.
К первой группе можно отнести методы, которые выполняют это так, как это определено в браузере: toString(), toDateString(), toTimeString(), toUTCString().
Метод toString() возвращает полное представление даты, toDateString() – только дату, toTimeString() – только время, toUTCString() – полное представление даты, но в часовом поясе UTC+0.
Т.к. строковые представления, которые должны возвращать эти методы чётко не определены в стандарте, то они могут отличаться в разных браузерах.
Ко второй группе можно отнести методы с учётом часового пояса и языка локального компьютера: toLocaleString() – дату и время, toLocaleDateString() – только дату, toLocaleTimeString() – только время.
Методы toLocaleString(), toLocaleDateString(), toLocaleTimeString() имеют 2 необязательных параметра. Первый параметр предназначен для явного указания локали, второй — для задания опций форматирования.
Если локаль явно не установлена или undefined, то браузер берёт ту, которую он имеет по умолчанию.
Кроме этого, в JavaScript имеется ещё метод toISOString(). Он возвращает строку, содержащую дату и время в формате ISO (YYYY-MM-DDTHH:mm:ss.sssZ).
Пример:
// создадим дату 15.04.2019 18:43:59 (в часовом поясе пользователя) var newDate = new Date(2019, 03, 15, 18, 43, 59); console.log(newDate.toString()); // Mon Apr 15 2019 18:43:59 GMT+1000 (Владивосток, стандартное время) console.log(newDate.toDateString()); // Mon Apr 15 2019 console.log(newDate.toTimeString()); // 18:43:59 GMT+1000 (Владивосток, стандартное время) console.log(newDate.toLocaleString()); // 15.04.2019, 18:43:59 console.log(newDate.toLocaleDateString()); // 15.04.2019 console.log(newDate.toLocaleTimeString()); // 18:43:59 console.log(newDate.toUTCString()); // Mon, 15 Apr 2019 08:43:59 GMT console.log(newDate.toISOString()); // 2019-04-15T08:43:59.000Z
Метод для преобразования строки в дату
JavaScript для преобразования строки в дату использует метод Date.parse(). Этот метод может преобразовать строку, если она выполнена в соответствии со стандартом RFC2822 или ISO 8601.
В этом уроке рассмотрим стандарт ISO 8601, в котором строка должна иметь следующий формат: YYYY-MM-DDThh:mm:ss.sssZ.
Где:
YYYY– год, состоящий из 4 цифр;MM– месяц, состоящий из 2 цифр (01 = Январь, 02 = Февраль, и т.д.);DD– день месяца, состоящий из 2 цифр (01..31);T– символ для разделения даты и времени;hh– количество часов (00..23);mm— количество минут (00..59);ss— количество секунд (00..59);sss— количество миллисекунд (0..999);Z— символ, который означает, что время задаётся в формате UTC. Если Вам необходимо вместо UTC установить часовой пояс, то букву «Z» следует заменить значением+hh:mmили-hh.mm.
Если строка, содержащая дату и время, задана не в формате RFC2822 или ISO 8601, то метод JavaScript Date.parse() всё равно может выполнить её преобразование, но результат в этом случае могут оказаться непредсказуемым.
//дата в формате ISO
var date1 = new Date("2015-04-02");
alert(date1);
//дата и время в формате ISO
var date2 = new Date("2015-02-02T11:40");
alert(date2);
//дата и время в часовом поясе +03:00 в формате ISO
var date3 = new Date("2015-02-02T11:40+03:00");
alert(date3);
Загрузить PDF
Загрузить PDF
В этой статье мы расскажем вам, как с помощью командной строки изменить время и дату на компьютере под управлением Windows. Если не войти в систему как администратор, изменить время и дату не получится.
-
1
Уясните, почему это необходимо. Время и дату можно изменить с помощью командной строки, но если активирована функция автоматической установки времени и даты, в конце концов они будут установлены в соответствии с текущими значениями.
- В некоторых случаях компьютер сбросит установленные вами значения времени и даты как только вы закроете командную строку.
-
2
Откройте меню «Пуск»
. Щелкните по логотипу Windows в левом нижнем углу экрана.
-
3
Нажмите «Параметры»
. Это значок в виде шестеренки в нижнем левом углу меню «Пуск». Откроется окно настроек.
-
4
Щелкните по Время и язык. Эта опция находится посередине окна настроек.
-
5
Щелкните по Дата и время. Это вкладка в верхней левой части окна.
-
6
Нажмите на цветной ползунок у «Установить время автоматически»
. Переключатель станет серым
, то есть отныне система не будет автоматически устанавливать время и дату. Теперь можно изменить время и дату в командной строке.
Реклама
-
1
Откройте меню «Пуск»
. Нажмите на логотип Windows в нижнем левом углу экрана.
-
2
Найдите командную строку. Введите командная строка. В верхней части меню «Пуск» отобразится «Командная строка».
-
3
Щелкните правой кнопкой мыши по значку
командной строки. Он находится в верхней части меню «Пуск». Раскроется меню.
- Если у мыши нет правой кнопки, щелкните по правой стороне мыши или щелкните двумя пальцами.
- Если на компьютере есть трекпад (а не мышь), коснитесь его двумя пальцами или нажмите на правую нижнюю часть трекпада.
-
4
Нажмите Запуск от имени администратора. Эта опция находится в меню.
- Если у вас нет административного доступа к компьютеру, вы не сможете изменить время и дату.
-
5
Нажмите Да, когда появится запрос. Откроется окно командной строки.
-
6
Измените время. Введите команду для изменения времени: time ЧЧ:MM:СС, где «ЧЧ:MM:СС» — это часы, минуты и секунды. Чтобы изменить время на компьютере, введите эту команду с нужным значением времени, а затем нажмите ↵ Enter.
- Например, введите time 08:35:00 и нажмите ↵ Enter, чтобы изменить время на 8:35.
- Чтобы изменить время на 22:00, введите time 22:00:00 и нажмите ↵ Enter.
- Обратите внимание, что в русскоязычной версии Windows для отображения времени буквы «AM» (до полудня) и «PM» (после полудня) не используются.
-
7
Измените дату. Введите команду для изменения даты date, нажмите ↵ Enter, введите дату в формате «ДД/ММ/ГГГГ и нажмите ↵ Enter.
- Чтобы изменить дату в русскоязычной версии Windows на 25 сентября 2018 года, введите date, нажмите ↵ Enter, введите 25/09/2018 и нажмите ↵ Enter.
- Чтобы изменить дату на компьютере в США на 25 сентября 2018 года, введите date, нажмите ↵ Enter, введите 09-25-2018 и нажмите ↵ Enter.
-
8
Просмотрите время и дату на компьютере. В нижнем правом углу экрана вы найдете новое время и новую дату.
- В русскоязычной версии Windows для отображения времени буквы «AM» (до полудня) и «PM» (после полудня) не используются.
Реклама
Советы
- Если вы отключите автоматическую установку времени и даты, установленные вами время и дата не изменятся, если перезагрузить компьютер.
Реклама
Предупреждения
- Если изменить дату на ту, которая уже прошла, некоторые программы и настройки безопасности могут столкнуться с проблемами.
Реклама
Была ли эта статья полезной?
Дата и время – важный компонент WordPress. Даты обязательно будут использоваться в вашем проекте, вне зависимости от того, ведете ли вы блог или более традиционный веб-сайт.
Многие из нас ищут и читают свежий контент, чтобы всегда оставаться в теме по интересующим вопросам. Очень важно, чтобы ваш сайт поддерживал данный тренд и был соответствующим образом настроен.
Устаревший контент может легко отпугнуть вашу аудиторию, особенно тех людей, которые ищут актуальную информацию; в то время как предложение посетителям свежей информации относительно будущих событий всегда вызывает повышенное внимание.
В этой статье мы изучим некоторые способы работы с датой и временем в WordPress. Мы затронем разные аспекты: демонстрация посетителям того, что контент является свежим, вывод предстоящих событий, отображение таймера обратного отсчета до важного события, автоматическое удаление старого контента и т.д.
Давайте посмотрим, как все это можно реализовать в WordPress.
Вывод даты последнего обновления записи
Если вы регулярно обновляете контент ваших записей, то в таком случае вам необходимо обязательно рассмотреть возможность вывода даты последнего обновления для записи вместо даты ее публикации.
Использование стандартных настроек для вывода даты публикации записей в WordPress может привести к снижению количества посетителей, а также может отразиться на показателе отказов.
Если ваши посетители ищут самый свежий и самый актуальный контент, и у ваших записей выводится дата публикации вместо даты последнего обновления, то в таком случае посетители могут просто уйти с вашего сайта.
Кроме того, поисковые системы, такие как Google, зачастую отдают приоритет самому свежему контенту при выводе поисковых результатов. Поэтому публикация даты последнего обновления вашего контента помогает повысить SEO-показатели сайта, что также помогает более успешно ранжироваться в поисковой выдаче.
Поскольку поисковые системы выводят эту дату в результатах поиска, некоторые потенциальные посетители, охотящиеся за свежим контентом, могут просто пройти мимо вашего сайта в выдаче. Если вы выводите исходную дату публикации контента, ваши потенциальные посетители не в силах узнать, когда контент был обновлен. Это означает, что, даже если ваши записи и страницы высоко ранжируются в поисковой выдаче, вы по-прежнему могут упустить некоторых посетителей.
К счастью, есть несколько разных способов справиться с этой проблемой, включая настройку файлов вашей темы и установку бесплатного плагина. Таким образом, если вам хочется это реализовать на своем сайте, читайте статью дальше. Мы покажем вам, как вывести дату последнего обновления материала вместо даты его исходной публикации.
Редактирование файлов темы для отображения даты последнего обновления публикации
Данный метод связан с обновлением вашей темы WordPress для отображения даты последнего обновления записи. Вывод даты обновления будет осуществляться тогда, когда вы щелкаете по кнопке «Обновить». Это означает, что ваши посетители будут видеть дату публикации, которая соответствует времени последнего обновления контента.
Важно сказать, что эта модификация может быть выполнена разными путями, что зависит от вашей используемой темы WordPress. Мы в своем руководстве будем использовать тему Divi.
Перед тем, как вносить изменения в файлы темы, давайте приведем изображение того, как вообще в этой теме выводится исходная дата публикации:
После того, как мы внесем изменения, дата будет иметь следующий вид (теперь это дата последнего обновления записи):
Если вы хотите, чтобы ваш сайт выводил дату в таком виде, вам нужно всего лишь отредактировать одну строку кода. Перед тем, как мы начнем, я настоятельно вам рекомендую создать дочернюю тему. Это позволит вам сохранить все изменения, которые исчезнут, если вы обновите тему.
Мы будем редактировать файл functions.php. Этот файл находится в корневой папке вашей темы. Чтобы внести изменения в этот файл, вы можете скачать его с сервера при помощи FTP-клиента, внести изменения через редактор, такой как Notepad++, а затем заново загрузить файл на сервер.
Либо вы можете отредактировать файл напрямую через консоль. Этот вариант проще, но более опасный. Если вы допустите ошибку, вы можете сломать свой сайт.
Вне зависимости от того, какой вариант вас больше устраивает, обязательно сделайте бэкап вашего файла functions.php.
Если вы хотите отредактировать файл через консоль, перейдите к разделу Редактор тем. Он находится в меню Внешний вид.
Затем из списка файлов справа выберите Функции темы (functions.php):
Файл должен открыться в окне редактора. Теперь нажмите Ctrl + F, чтобы открыть инструмент поиска в браузере, и найдите следующую строку:
$postinfo_meta .= get_the_time( wp_unslash( $date_format ) );
Измените ее на:
$postinfo_meta .= get_the_modified_date( wp_unslash( $date_format ) );
После того, как вы сделаете это, сохраните файл. Теперь попробуйте обновить пост и посмотрите его во фронтэнде вашего сайта. Дата, когда пост был последний раз сохранен, теперь должна выводиться вместо даты публикации. Это также затрагивает страницу архивов записей.
Как уже говорилось выше, этот пример работает в теме Divi. Если вы используете другую тему, вам нужно будет обратиться к ее поставщику, чтобы узнать, как именно реализовать этот эффект.
Использование плагина для вывода даты последнего изменения записи
Если вы не хотите редактировать файлы вашей темы WordPress, вы можете пойти другим путем – установить плагин, который позволит вам вывести на экран дату последнего обновления записей. Плагин позволит вам вывести на экран дату обновления записи вместо даты ее публикации.
Плагин, который пригодится вам для этого — WP Last Modified. После активации плагина на сайте дата обновления записи или страницы будет выводиться в вашем контенте.
С помощью настроек плагина вы можете выбирать позицию вывода времени и формат даты. Вы можете добавить некоторый текст, который будет сопровождать дату: к примеру, «последний раз обновлено:».
Теперь, в зависимости от того, какие настройки вы выбрали, дата последнего обновления записи будет выводиться вашим посетителям:
Если ваш контент не зависит от даты, вы можете пойти дальше и вообще удалить дату публикации у записей.
Удаление даты публикации у записей и страниц
Если вы используете продукты Elegant Themes, такие как Divi, вы можете легко отключить вывод даты публикации у записей при помощи опции в ePanel.
Чтобы сделать это, просто перейдите в консоль и выберите раздел Опции темы. Затем перейдите к Layout Settings в ePanel. Во вкладке Single Post Layout щелкните по иконке Date, чтобы отключить ее. Затем сохраните изменения.
В итоге дата публикации у отдельных записей пропадет.
Однако дата публикации будет выводиться на страницах со списками записей – к примеру, на странице архивов.
Если вы хотите удалить дату и здесь, вернитесь к ePanel, перейдите на вкладку General Settings, после чего вновь щелкните по иконке Date, чтобы она стала серой. Затем сохраните изменения.
Теперь ваши посетители больше не будут видеть дату публикации в архивах.
Если вы используете другую тему, то в таком случае вам понадобится плагин WP Date Remover, который позволит вам удалить дату публикации. Тестирование плагина показало, что он работает далеко не со всеми темами, поэтому вам нужно будет проверить его в своей теме.
Вывод даты публикации только для недавно опубликованных записей
Если вы хотите вывести на экран дату публикации только для самых последних записей, то в таком случае вы можете воспользоваться плагином WP Old Post Date Remover. Плагин позволяет вам задавать временной отрезок, после которого дата публикации уже не будет выводиться.
Опять же, плагин работает не со всеми темами. Однако если вы опубликуете детали по поводу своей темы, то разработчик поможет вам найти решение проблемы на форуме.
Сброс даты публикации на текущее время
Еще один полезный плагин для тех, кто часто обновляет контент — Date/Time Now Button. Этот инструмент добавляет новую кнопку к редактору записей, которая позволяет изменить дату публикации записи на текущую дату.
Щелчок по кнопке редактирования, которая расположена под текущей датой публикации, выведет на экран новую кнопку. После того, как вы обновите запись с новой датой, эта информация будет опубликована во фронтэнде вашего сайта.
Ваши посетители теперь будут думать, что это исходная дата публикации записи. Это помогает в том случае, если ваш контент обращен к тем, кто ищет самую свежую информацию. Использование плагина Date/Time Now Button – хорошая альтернатива изменению вашей темы для вывода даты последнего обновления каждой записи.
Если вы хотите вывести на экран свои последние обновленные записи в сайдбаре, вы можете воспользоваться следующим плагином: Recently updated posts widget.
Создание контента с датой истечения срока действия
Еще один интересный способ работы с датой и временем в WordPress – это создание запланированного контента, назначенного на определенное время. Обычно такой контент доступен только в определенные периоды времени, после чего он автоматически архивируется и становится недоступным для посетителей.
Некоторые примеры использования такого подхода – лимитированные предложения, когда вы предлагаете скидку на свои продукты или услуги в определенный период времени, прогнозы, анонсы, касающиеся будущих событий. Поскольку такой контент уже не актуален после того, как событие прошло, вы можете скрыть его с сайта при помощи специальных инструментов планирования.
Вне зависимости от того, хотите ли вы ограничить доступ ко всей записи или только к части ее, вы всегда можете воспользоваться двумя плагинами. Мы рассмотрим оба плагина, чтобы показать вам, как создать контент в блоге, который автоматически будет удаляться после определенного временного промежутка.
Post Expirator
Post Expirator – бесплатный плагин, который позволяет вам задавать автоматическое окончание срока действия для записей и страниц после определенной даты. Как только плагин будет активирован на вашем сайте, вы увидите новую панель, добавленную к экранам редактора записей и страниц. В этой панели вы можете задать срок истечения записи.
При задании даты истечения срока действия для записей вы можете выбрать, что именно произойдет с записью после этого. Варианты следующие: статус записи будет изменен до черновика, запись станет приватной или запись просто будет удалена в корзину. Также вы можете перенести запись в другую рубрику после истечения ее срока действия.
Если посетитель попробует получить доступ к записи с истекшим сроком действия, он увидит страницу с 404 ошибкой. Самое время создать полезную 404 страницу для вашего сайта. Это позволит вам не потерять посетителей, которые пытаются получить страницу с истекшим сроком действия.
Через страницу настроек плагина вы можете задавать стандартную дату истечения срока действия для всех новых записей. Также вы можете автоматически добавлять время и дату истечения в контент записи. В итоге ваши посетители будут знать, когда именно запись или страница перестанет быть доступной.
Scheduled Content
Если вы хотите, чтобы только некоторые участки записи или страницы имели истекающий срок действия, то в таком случае вам пригодится плагин Scheduled Content. С помощью этого плагина вы можете обернуть шорткодом тот контент, который должен пропасть со страницы по истечении определенной даты.
Параметры шорткода позволяют вам скрывать и выводить на экран контент в соответствии с вашими предпочтениями. Вы можете выводить контент только после определенной даты или скрывать его, как только определенная дата была достигнута.
Плагины Post Expirator и Scheduled Content могут использоваться в связке на одном и том же сайте. В итоге вы сможете настроить видимость вашего контента.
Вывод таймера обратного отсчета
Если вы запускаете продукт или сервис, планируете провести какое-то событие, вы можете добавить таймер обратного отсчета в WordPress.
Бесплатный плагин WordPress Countdown, а также его платная версия – тот инструмент, который позволит вам легко вывести таймер обратного отсчета на своем сайте. Плагин добавляет удобную кнопку в редактор записей для добавления таймера в контент, а также виджет, который выводит таймеры в сайдбаре.
Хотя бесплатный плагин и не отличается великолепным дизайном, он очень простой в настройке. Обновление до премиум-версии за 13 долларов поможет вам получить доступ к обширному набору разных видов дизайна таймеров.
Вывод списка дат предстоящих событий
Вывод списка предстоящих событий – еще один способ интересного обращения с датами в WordPress. Если вы хотите вывести на экран любой список, состоящий из дат, вы можете воспользоваться следующими удобными инструментами.
Первый инструмент – плагин Upcoming Events Lists. Этот плагин добавляет новый тип записей Event, который позволяет вам вводить информацию о каждом событии. События могут иметь дату начала и окончания, а также место. Вы можете задавать заголовок, описание и миниатюру для каждого события.
Доступ к опубликованным событиям может быть задан на индивидуальной основе для ваших посетителей. Вы можете вывести на экран количество событий в сайдбаре вашего сайта. Это можно реализовать при помощи виджета Events .
Похожий плагин — Very Simple Event List. Работает он практически так же, но при этом он включает в себя шорткод для вывода всех событий на вашем сайте в отдельной записи.
Благодаря двум данным плагинам, ваши посетители смогут быстро просмотреть все предстоящие события либо в сайдбаре, либо в отдельной записи вашего сайта.

При работе с датой и временем на сайте есть необходимость в том, чтобы суть содержимого понимали как пользователи сайта, так и роботы (поисковые системы, скрипты и т.п).
Указание даты и времени для ивента (например, «концерт Alan Walker в Москве 25 февраля в 19:00») в микроразметке, обозначение точки отсчета для скриптов на странице, улучшенное понимание даты и времени указанного в контенте страницы поисковой системой (например, с помощью тега <time>) — для этих целей нужно использовать формат времени HTML.
Для человека будет достаточно написать «сегодня в 10», «через 3 дня», в «прошлом году», но для «машины» такая запись далеко не всегда будет информативной. Формат даты и времени в HTML позволяет описывать выражения подобные этим, а также указывать не только временные точки, но и временные отрезки, например «длительность 2 часа 17 минут».
Рассмотрим как правильно писать дату и время в HTML.
Формат точной даты и времени YYYY-MM-DDThh:mm:ssTZD
Этот формат используется для указания конкретной временной точки («20-го апреля», «сегодня в 8 утра», «15 января 2001 года»).
В зависимости от потребностей вы можете использовать как все составляющие, так и какую-то их часть.
Расшифровка формата YYYY-MM-DDThh:mm:ssTZD:
- YYYY — год, 4 цифры;
- MM — месяц, 2 цифры;
- DD — число, 2 цифры;
- T — разделитель даты и времени, вместо «T» можно использовать пробел;
- hh — часы, 2 цифры, используется 24-часовой формат времени;
- mm — минуты, 2 цифры;
- ss — секунды, 2 цифры;
- TZD — временная зона, например: «+03:00». Формат временной зоны: +hh:mm, либо -hh:mm.
Также можно указать неделю в году в формате YYYY-WW. WW — номер недели, 2 цифры.
Рассмотрим примеры вывода даты и времени в формате временной точки.
| Название | Формат | Пример |
|---|---|---|
| Дата, точное время, временная зона | YYYY-MM-DDThh:mm:ssTZD | 2010-05-12 22:47:11+02:00 |
| Дата и время | YYYY-MM-DDThh:mm | 2015-09-23 21:13 |
| Время с временной зоной | hh:mmTZD | 12:34+04:00 |
| Дата | YYYY-MM-DD | 2015-09-23 |
| Месяц и число | MM-DD | 01-30 |
| Год и месяц | YYYY-MM | 1989-11 |
| Год и неделя | YYYY-WW | 2009-46 |
| Год | YYYY | 2007 |
Формат периода времени (длительность)
Формат PWDTHMS используется когда нужно указать не конкретную точку, а период времени: «3 дня», «2 часа 5 минут» и т.п. То есть, когда нужно показать длительность.
Длительность периода считается в секундах. Если указана другая величина, время приводится к секундам путем умножения:
2 минуты = 2*60 = 120 секунд и т.п.
Расшифровка формата PWDTHMS:
P — префикс периода;
W — суффикс для количества недель (604800 секунд);
D — суффикс для количества дней (86400 секунд);
T — префикс времени;
H — суффикс для количества часов (3600 секунд);
M — суффикс для количества минут (60 секунд);
S — суффикс для количества секунд;
Примеры указания периода времени:
«x» — любое число.
| Название | Формат | Пример |
|---|---|---|
| 2 недели | PхW | P2W |
| 10 дней | PхD | P10D |
| 4 дня 3 часа 5 минут | PхDTхHхM | P4DT3H5M |
| 2 часа 37 минут | PTхHхM | PT2H37M |
| 5 минут 10 секунд | PTхMхS | PT5M10S |
Как вставить текущее время в HTML
Вывести на страницу сайта текущее время используя только лишь HTML не получится.
Для того, чтобы вставить текущую дату и время на сайт будем использовать JavaScript.
За вывод даты и времени в JavaScript отвечает объект типа Date().
Попробуем вывести текущую дату и время на экран с помощью встроенного скрипта:
<script type="text/javascript">
document.write(Date());
</script>
Результат:
Как видим, выводится вся информация о дате и времени.
Дата и время в HTML в привычном формате
Если мы хотим вывести дату и время в более привычном формате, можем воспользоваться функциями getFullYear(), getMonth(), getDate(), getHours(), getMinutes(), getSeconds().
Поскольку функции возвращают значения месяцев, дней, часов, минут, секунд без ведущих нулей, нам понадобится написать дополнительную функцию, которая будет эти нули добавлять.
Также обратите внимание на то, что функция getMonth() возвращает значение от 0 до 11 (количество полных месяцев, прошедших от начала года до указанной даты), а не порядковый номер месяца от 1 до 12. Поэтому, чтобы получить календарный номер месяца нужно к результату функции прибавить единицу.
Вставить текущее время и дату в HTML в привычном формате можно с помощью следующего кода:
<div id="current_date_time_block"></div><script type="text/javascript">
/* функция добавления ведущих нулей */
/* (если число меньше десяти, перед числом добавляем ноль) */
function zero_first_format(value)
{
if (value < 10)
{
value='0'+value;
}
return value;
}
/* функция получения текущей даты и времени */
function date_time()
{
var current_datetime = new Date();
var day = zero_first_format(current_datetime.getDate());
var month = zero_first_format(current_datetime.getMonth()+1);
var year = current_datetime.getFullYear();
var hours = zero_first_format(current_datetime.getHours());
var minutes = zero_first_format(current_datetime.getMinutes());
var seconds = zero_first_format(current_datetime.getSeconds());
return day+"."+month+"."+year+" "+hours+":"+minutes+":"+seconds;
}
/* выводим текущую дату и время на сайт в блок с id "current_date_time_block" */
document.getElementById('current_date_time_block').innerHTML = date_time();
</script>
Результат:
Таким образом у нас получилось вывести на страницу сайта точное время на момент открытия страницы.
Часы на сайт, обновляемые в реальном времени
Если мы хотим, чтобы пользователь всегда видел актуальное время, то есть хотим сделать часы на странице, нужно реализовать обновление времени один раз в секунду (либо в минуту, если вы не выводите секунды). Для этого воспользуемся интервалом в JavaScript.
<div id="current_date_time_block2"></div><script type="text/javascript">
/* каждую секунду получаем текущую дату и время */
/* и вставляем значение в блок с id "current_date_time_block2" */
setInterval(function () {
document.getElementById('current_date_time_block2').innerHTML = date_time();
}, 1000);
</script>
Результат:
Изменить формат даты и времени, выводимый в HTML код страницы, вы можете, комбинируя функции объекта Date(). Все они описаны в справочнике по JavaScript.
































