Суть происходящего:
есть таблица в бд в которую записываются данные для публикации поста.
в этой таблице есть 2 главных столбца - srart_public и finish_public.
в srart_public записываю дату когда опубликован пост в формате timestamp.
в finish_public мне нужно записать дату окончания показа поста. т.е. если в srart_public будет записана дата 2020-01-20 11:15:00, то в finish_public мне нужно записать 2020-01-21 11:15:00 - через 24 часа.
Вопрос 1: как реализовать запись даты в finish_public с интервалом 24 часа?
Вопрос 2: как узнать соответствует ли дата записанная в finish_public с настоящей датой? чтобы потом сделать необходимые действия с опубликованным постом.
Работа с датами для меня темный лес. Поиски в гугле только запутали окончательно.
Поэтому прошу вашей помощи в реализации такого функционала дабы разобраться как работать с датами.
P.S. если вам что то не понятно с выше написанного, то, пожалуйста, скажите что добавить или исправить.
Дату окончания показа поста можете записать так:
$start_public = time(); // или другая дата
$finish_public = date("Y-m-d H:i:s", $start_public + 60 * 60 * 24);
A реализацию фильтра по дате лучше перенести в запрос в базу данных на выборку статей, дабы не тянуть лишнее:
// в общем случае
"SELECT * FROM articles WHERE finish_public > NOW()"
// или
"SELECT * FROM articles WHERE finish_public > " . $finish_public
mysql now()
<?php
$currentDate = date("Y-m-d h:i:s");
$srart_public = '2020-01-20 11:15:00';
$finish_public = date('Y-m-d h:i:s', strtotime("+24 hours", strtotime($srart_public))); // Прибавление к дате 24 часа.
//Если в точности до времени, как написано у Вас в примере.
if ($currentDate <= $finish_public){
echo 'Дата и время ' . $finish_public . ' позже текущего времени';
} else {
echo 'Дата и время ' . $finish_public . ' меньше текущего времени';
}
//Если нужно сравнивать только даты
$currentDate = date("Y-m-d");
$srart_public = '2020-01-20 11:15:00';
$finish_public = date('Y-m-d', strtotime("+24 hours", strtotime($srart_public))); // Прибавление к дате 24 часа.
if ($currentDate <= $finish_public){
echo 'Дата ' . $finish_public . ' позже текущей даты';
} else {
echo 'Дата ' . $finish_public . ' меньше текущей даты';
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Подключаю отдельную мобильную версию из папки в корне сайта или на поддоменеИспользую этот плагин https://github
Потому, что логическая конструкция ! работает только с приведенными типами?