试图计算使用(当前php日期 - mySQL时间戳=天数差异)

时间:2012-08-08 13:08:11

标签: php mysql

我查看了网站上的问题,我认为我遇到的问题有点深入。 我已经尝试过使用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 

2 个答案:

答案 0 :(得分:2)

date()函数会根据您输入的格式返回字符串。您不能对字符串执行算术运算。

您应该首先计算从数据库和time()检索的时间戳(整数)的差异,然后才用{{1}格式化这个差异功能。

(注意:您也应该在数据库中以unix纪元整数格式存储日期和时间。)

答案 1 :(得分:1)