Мой столбец mysql имеет это значение datetime, 2011-04-11 11:00:00
когда я применяю strtotime, тогда его дата возвращения меньше, чем сегодня, тогда как она должна быть больше, чем сегодня.
также, когда я пытаюсь использовать это strtotime(date('d/m/Y h:i A'));
код, возвращающий неверные значения. Есть ли проблема с предоставлением TIME в strtotime?
В основном, я хочу сделать, это сравнить мою дату столбца mysql с сегодняшней датой, если в будущем она покажет, что «Предстоящие» еще ничего не показывают?
Пожалуйста, помогите и посоветуйте, что мне делать?
Отредактированный код
$_startdatetime = $rs['startdatetime']; $_isUpcoming = false; if(!empty($_startdatetime)){ $TEMP_strtime = strtotime($_startdatetime); $TEMP_strtime_today = strtotime(date('d/m/Y h:i A')); if($TEMP_strtime_today < $TEMP_strtime){ $_isUpcoming = true; $_startdatetime = date('l, d F, Y h:i A' ,$TEMP_strtime); } }
И значение в $rs['startdatetime']
– 2011-04-11 11:00:00
. И с этим значением я получаю следующий вывод.
$TEMP_strtime - 1302519600 $TEMP_strtime_today - 1314908160 $_startdatetime - 2011-04-11 11:00:00
$_startdatetime
его значение не форматируется, так как $_startdatetime
условие ложно, поэтому возвращаемое значение равно как mysql.
d/m/Y h:i A
является необратимым ( с strtotime ) форматом, используйте стандартные форматы или используйте time()
как рекомендовано Joel & Rocket
ПРОБЛЕМА
<?php echo $today = date('d/m/Y h:i A'); echo '<br />'; echo $time = strtotime($today); echo '<br />'; echo date('d/m/Y h:i A', $time);
ВЫВОД
РЕШЕНИЕ
<?php $today = strtotime(date('m/d/Y h:i:s')); <- use appropriate format // OR $today = time(); @credit to Joel & Rocket