strtotime不与TIME合作?

时间:2011-01-11 19:56:27

标签: php

我的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值。

1 个答案:

答案 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);

<强>输出

alt text

<强>解

<?php
$today = strtotime(date('m/d/Y h:i:s')); <- use appropriate format
// OR 
$today = time(); @credit to Joel & Rocket