我的mysql列有这个日期时间值,2011-04-11 11:00:00
当我应用strtotime然后它的返回日期少于今天,而它应该比今天更大。
当我尝试这个strtotime(date('d/m/Y h:i A'));
代码时,它返回错误的值。在strtotime给出TIME是否有任何问题?
基本上我想做的,就是将我的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
其值未格式化为即将发生的条件为false,因此返回为mysql值。
答案 0 :(得分:4)
d/m/Y h:i A
不可逆转( with strtotime )格式,使用标准formats或使用time()
按照Joel&amp;火箭
<强>问题强>
<?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