时间戳差异和输出

时间:2015-01-17 00:48:52

标签: php mysql date datetime timestamp

在我的SQL数据库中,我有一个时间戳列,其值如下,表示上次编辑的日期:

2015-01-17 08:55:34.000000

我想将Date与当前日期进行比较,以及何时是我想要回显Today的当天,否则我想显示上次修改的日期:

$timefromdb = '2015-01-17 08:55:34.000000'
$edit = strtotime($timefromdb);
if($edit > $_SERVER['REQUEST_TIME']){echo "Today";}
else{
    echo strftime("on %A, the %d %B %Y", $edit);
}
echo " at ".date('h:i',$edit)

始终显示01/01/1970。 strtotime必定存在问题。我做了一些研究,似乎我的时间戳格式不是有效的:http://php.net/manual/en/datetime.formats.php

围绕网络有很多关于转换时间戳的问题,但我找不到合适的问题:我也对所有转换日期内容的函数感到困惑。

有人可以告诉我如何获得有效的时间戳,以便在strftime中使用它并将其与REQUEST_TIME进行比较。

提前致谢!

更新:始终如一:问题出在PC前面。我声明了变量,但从未将时间戳分配给它:)

2 个答案:

答案 0 :(得分:1)

从日期中删除.000000,因为格式为strtotime()的日期无法使用。有几种方法可以做到这一点。一个简单的substr就是其中之一。

$timefromdb = substr('2015-01-17 08:55:34.000000', 0, -7);

答案 1 :(得分:0)

我不完全理解你,但是 尝试 1.比较gettype($ edit)和gettype($ _ SERVER ['REQUEST_TIME']) 2.不确定$ timefromdb会比$ _SERVER ['REQUEST_TIME']更多,因为当用户编辑数据时恕我直言,它的动作时间将少于当前时间。