PHP-数几天前

PHP-数几天前,php,mysql,date,time,count,Php,Mysql,Date,Time,Count,在我的数据库中,我有一大堆用户的最后登录日期。它们是这样写的: 上次登录:2015年4月8日22:53:49 CEST 以及: 上次登录时间:2015年4月8日22:53:49 CET 因此,末尾的CEST和CET都可能发生 然而,我想做的是,看看多少天前(四舍五入)。用这种格式有什么办法可以做到吗?它必须是这种格式。我想在我的网站上重复以下内容: 上次登录:2015年4月8日22:53:49 CEST(46天前) 我找不到这种格式的任何示例。它们中的大多数以毫秒左右为单位。这可能吗 我只需要这

在我的数据库中,我有一大堆用户的最后登录日期。它们是这样写的:
上次登录:2015年4月8日22:53:49 CEST
以及:
上次登录时间:2015年4月8日22:53:49 CET

因此,末尾的
CEST
CET
都可能发生

然而,我想做的是,看看多少天前(四舍五入)。用这种格式有什么办法可以做到吗?它必须是这种格式。我想在我的网站上重复以下内容:

上次登录:2015年4月8日22:53:49 CEST(46天前)

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

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

基本上是这样的:
$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');
?>

第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');
?>

第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');
?>

第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');
?>


所有条目的格式是否相同,即上次登录日期:2015年4月8日,22:53:49 CEST
?是,或结尾为“CET”。情况各不相同。但数据库中的所有数据都具有相同的格式。我认为第一步应该是只获取“2015年4月8日”部分,然后转换成Somehow的答案:)顺便说一句,“上次登录:”不包括在日期中。那只是我的回声。在数据库中,日期仅如下所示:
2015年4月8日,22:53:49 CET
所有条目的格式都相同,即上次登录日期:2015年4月8日,22:53:49 CEST?是,或结尾为“CET”。情况各不相同。但数据库中的所有数据都具有相同的格式。我认为第一步应该是只获取“2015年4月8日”部分,然后转换成Somehow的答案:)顺便说一句,“上次登录:”不包括在日期中。那只是我的回声。在数据库中,日期仅如下所示:
2015年4月8日,22:53:49 CET
所有条目的格式都相同,即上次登录日期:2015年4月8日,22:53:49 CEST?是,或结尾为“CET”。情况各不相同。但数据库中的所有数据都具有相同的格式。我认为第一步应该是只获取“2015年4月8日”部分,然后转换成Somehow的答案:)顺便说一句,“上次登录:”不包括在日期中。那只是我的回声。在数据库中,日期仅如下所示:
2015年4月8日,22:53:49 CET
所有条目的格式都相同,即上次登录日期:2015年4月8日,22:53:49 CEST?是,或结尾为“CET”。情况各不相同。但数据库中的所有数据都具有相同的格式。我认为第一步应该是只获取“2015年4月8日”部分,然后转换成Somehow的答案:)顺便说一句,“上次登录:”不包括在日期中。那只是我的回声。在数据库中,日期仅如下所示:
2015年4月8日,CET 22:53:49
有效!但是如何删除“最后登录:”部分?那只是我的回声。实际日期仅为:
2015年4月8日,22:53:49 CET
例如,如果您看到答案,我将删除整个部分,并且只有第一个
之间的内容,即,
2015年4月8日
,因此这里删除了
最后一次登录
。你是说这个还是什么?在$Date中,你写了一个字符串“Last Login:”我只想:
$Date=“Apr 08 2015,22:53:49 CES”
,所以,在你的数据库中,你只有这个
Apr 08 2015,22:53:49 CES
?是的,但我在我的网站上用“Last Login”来回应它,这是有效的!但是如何删除“最后登录:”部分?那只是我的回声。实际日期仅为:
2015年4月8日,22:53:49 CET
例如,如果您看到答案,我将删除整个部分,并且只有第一个
之间的内容,即,
2015年4月8日
,因此这里删除了
最后一次登录
。你是说这个还是什么?在$Date中,你写了一个字符串“Last Login:”我只想:
$Date=“Apr 08 2015,22:53:49 CES”
,所以,在你的数据库中,你只有这个
Apr 08 2015,22:53:49 CES
?是的,但我在我的网站上用“Last Login”来回应它,这是有效的!但是如何删除“最后登录:”部分?那只是我的回声。实际日期仅为:
2015年4月8日,22:53:49 CET
例如,如果您看到答案,我将删除整个部分,并且只有第一个
之间的内容,即,
2015年4月8日
,因此这里删除了
最后一次登录
。你是说这个还是什么?在$Date中,你写了一个字符串“Last Login:”我只想:
$Date=“Apr 08 2015,22:53:49 CES”
,所以,在你的数据库中,你只有这个
Apr 08 2015,22:53:49 CES
?是的,但我在我的网站上用“Last Login”来回应它,这是有效的!但是如何删除“最后登录:”部分?那只是我的回声。实际日期仅为:
2015年4月8日22:53:49