繁体   English   中英

PHP-计算多少天前

[英]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

因此,最后的CESTCET都可能发生。

但是,我想做的是查看多少天前的数据(四舍五入)。 我有什么办法可以使用这种格式吗? 它必须是这种格式。 我想在我的网站上回显以下内容:

Last Login: Apr 08 2015, 22:53:49 CEST (46 days ago)

我找不到这种格式的任何示例。 它们大多数以毫秒为单位。 这有可能吗?

我只需要几天。 小时和分钟并不重要。

基本上就是这样: $date=date('d M Y');

第1步 :

删除日期的最后一部分,即CETCE

$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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM