我查看了网站上的问题,我认为我遇到的问题有点深入。 我已经尝试过使用difftime()函数,但它对我来说是0。
到目前为止这就是我所做的
$currentDate = time();
//echo $printDate;
//echo $currentDate;
$editedDate = date("Y-m-d ", strtotime($printDate));
$editedCurrentTime = date("Y-m-d ", $currentDate);
echo "$editedDate </br>";
echo "$editedCurrentTime </br>";
$timeDiff = ($editedCurrentTime - $editedDate);
echo "$timeDiff </br>";
$numberDays = floor($timeDiff/(60*60*24));
我先保存时间();在currentDate中,printDate具有条目放入数据库的日期。两者都是格式化的,回声打印输出正确。第三个回波是由于某种原因减法变为0的地方。当我尝试strtotime($ currentDate)时,editedCurrentTime的echo变为1970-01-01。我猜这是一个小问题,因为它们有不同的格式,但它仍然让我感到难过。任何帮助都会非常感激。
以下是输出的片段:
2012-08-01
2012-08-08
0
2012-08-01
2012-08-08
0
2012-08-01
2012-08-08
0
2012-08-02
2012-08-08
0
答案 0 :(得分:2)
date()
函数会根据您输入的格式返回字符串。您不能对字符串执行算术运算。
您应该首先计算从数据库和time()
检索的时间戳(整数)的差异,然后才用{{1}格式化这个差异功能。
(注意:您也应该在数据库中以unix纪元整数格式存储日期和时间。)
答案 1 :(得分:1)