【发布时间】:2011-01-11 19:56:26
【问题描述】:
我的 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它的值没有被格式化,因为即将到来的条件是假的,所以返回mysql值。
【问题讨论】:
-
$TEMP_strtime_today = strtotime(date('d/m/Y h:i A'));也称为 time() ?
-
你为什么要
strtotime(date('d/m/Y h:i A'))?只需time()。 -
您能否显示
$_startdatetime的示例值以及生成的$TEMP_strtime? -
您的代码对我来说工作正常(在制作
$TEMP_strtime_today = time();之后):codepad.org/aOm5dsM2 -
澄清一下,这里的问题是
d/m/Y是一个无效的时间格式。您应该使用有效的格式,或者只使用time()。
标签: php