我想在php中找到mysql时间戳和现在的时间之间的时差。
$timesince = strtotime("now") - $row['DateTime'];
这是我尝试这样做但它似乎不起作用。
另外,理想情况下,我希望输出格式良好,如:34分钟前,2小时5分钟前4天,2天前等等。
真的,非常感谢任何帮助。
答案 0 :(得分:7)
strtotime("now")
返回自Unix纪元以来的秒数,即整数。一个mysql“timestamp”字段将是YYYY-mm-dd HH:mm:ss。您首先需要使这些格式相同。我建议选择mysql时间戳字段为UNIX_TIMESTAMP(DateTime)
,这样它就会返回一个整数,然后你就可以在几秒钟内得到$timesince
。
然后,就像@Derek Adair所说,查看PHP Date Object
答案 1 :(得分:2)
只需使用date()
即可返回当前日期。
尝试类似......
$curDate = date();
$mysqlTimestamp = $row['timestamp'];
$dif = strtotime($curdate) - strtotime($mysqlTimestamp);