[英]PHP - Count how many days ago
在我的数据库中,我有一堆用户的上次登录日期。 他们是这样写的: Last Login: Apr 08 2015, 22:53:49 CEST
Last Login: Apr 08 2015, 22:53:49 CET
Last Login: Apr 08 2015, 22:53:49 CEST
和: Last Login: Apr 08 2015, 22:53:49 CET
因此,最后的CEST
和CET
都可能发生。
但是,我想做的是查看多少天前的数据(四舍五入)。 我有什么办法可以使用这种格式吗? 它必须是这种格式。 我想在我的网站上回显以下内容:
Last Login: Apr 08 2015, 22:53:49 CEST (46 days ago)
我找不到这种格式的任何示例。 它们大多数以毫秒为单位。 这有可能吗?
我只需要几天。 小时和分钟并不重要。
基本上就是这样: $date=date('d M Y');
第1步 :
删除日期的最后一部分,即CET
或CE
$Date = substr($Date, 0, strpos($Date, " "));
最后一个空格后的字符
第2步
找到当前日期和提取日期之间的差
$interval = $datetime1->diff($datetime2);
这是整个代码:
<?php
$Date = "Apr 08 2015, 22:53:49 CES";
$Date = substr($Date, 0, strpos($Date, " CE"));
$now = date('Y-m-d');
$datetime1 = new DateTime($Date);
$datetime2 = new DateTime($now);
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
?>
如果您要打印其他消息,如果相差0天,则只需检查是否存在0
天差并进行处理
if ($interval->format('%R%a')=="-0")
{
echo 'Last Login Today';
}
else
{
echo $interval->format('%R%a');
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.