日期和时间错误12-31-1969,晚上7:00

时间:2014-06-07 06:31:23

标签: php mysql date

这会转换我datetime中存储的mysql,但每次不断提供12-31-1969, 7:00 PM时,我会一直找到几个回复来解释原因,但不是解决问题的方法

我如何编辑它而不搞砸它,因为我想保持相同的布局,但修复它以显示正确的时间和日期

此代码如何运行是在time_ago上的第一个echo回调,它在它上面运行2行,然后沿着timeAgo函数向下移动到达调用顶部函数的最后一个回声

function converttotime_date($date) {
    $date = strtotime($date);
    return date("m-d-Y, g:i A", $date);
}

$curenttime= $row['post_date'];
$time_ago =strtotime($curenttime);
echo "".timeAgo($time_ago)."


function timeAgo($time_ago){
$cur_time   = time();
$time_elapsed   = $cur_time - $time_ago;
$seconds    = $time_elapsed ;
$minutes    = round($time_elapsed / 60 );
$hours      = round($time_elapsed / 3600);
$days       = round($time_elapsed / 86400 );
// Seconds
if($seconds < 60){
    echo "$seconds seconds ago";
}
//Minutes
else if($minutes < 60){
    if($minutes==1){
        echo "1 minute ago";
    }
    else{
        echo "$minutes minutes ago";
    }
}
//Hours
else if($hours <= 12){
    if($hours==1){
        echo "1 hour ago";
    }else{
        echo "$hours hours ago";
    }
}
//Hours
else if($hours <= 24){
        echo "Today, ".converttotime($time_ago)." ";
}

//Hours
else if($hours <= 48){
        echo "Yesterday, ".converttotime($time_ago)." ";
}
//Days
else if($days > 2){
        echo " ".converttotime_date($time_ago)." ";
}

}

1 个答案:

答案 0 :(得分:1)

问题出在行timeAgo函数

//Days
else if($days > 2){
        echo " ".converttotime_date($time_ago)." ";  # this wrong
}

因为$time_ago已经是Unix时间戳,所以不需要转换。 所以改为将其改为

//Days
else if($days > 2){
        echo date("m-d-Y, g:i A", $time_ago); 
}

并且不再需要converttotime_date()。也许将其更改为formatDateDisplay函数?

相关问题