时间戳差异和输出

Timestamp Difference and Output

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

2015-01-17 08:55:34.000000

我想将日期与当前日期进行比较,我想在同一天回显 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 面前。我声明了变量但从未将时间戳分配给它:)

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

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

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