Php 以自定义格式获取数组中最近7天的日期

Php 以自定义格式获取数组中最近7天的日期,php,datetime,Php,Datetime,如何以自定义格式(dd/mm)获取过去7天(包括今天)的确切日期 在生成的数组中,我希望得到如下内容(日期仅为示例): 为您提供当前时间戳。 86400秒是一天(60*60*24)。 为您提供自定义日期字符串 for ($iDay = 6; $iDay >= 0; $iDay--) { $aDays[7 - $iDay] = date('d/m', time() - $iDay * 86400); } 另见 如果不需要前导零,请使用'j/n'作为: 也看到这个 ==更新=== @

如何以自定义格式(dd/mm)获取过去7天(包括今天)的确切日期

在生成的数组中,我希望得到如下内容(日期仅为示例):

为您提供当前时间戳。
86400
秒是一天(60*60*24)。
为您提供自定义日期字符串

for ($iDay = 6; $iDay >= 0; $iDay--) {
    $aDays[7 - $iDay] = date('d/m', time() - $iDay * 86400);
}
另见

如果不需要前导零,请使用
'j/n'
作为:

也看到这个

==更新===

@达贡用它来获取时间戳的想法很好。以下是更好的解决方案:

for ($iDay = 6; $iDay >= 0; $iDay--) {
    $aDays[7 - $iDay] = date('j/n', strtotime("-" . $iDay . " day"));
}


您可以将两个函数date()和strotime()组合在一起。例如:

echo date("Y-m-d", strtotime("7 days ago"));
尝试:


对于($i=0;$i)和你尝试过什么?并不是所有的Fay都比使用strotime(“-1天”)长86400,除了闰秒还有闰秒days@Dagon:是的,您的解决方案更准确。但是闰日对上述示例没有影响,可能会因为其罕见而被忽略。“下一个闰秒将于2012年6月30日23:59:60 UTC插入。“这不是很少见,大衮是对的。考虑一下这个问题。现在是<代码>今天23:55 < /代码>。在今天早些时候下午5点,DST规则改变了时钟1小时,所以这一天是1小时更长,并且有25小时,而不是24。这意味着864年前是<代码>今天:00:55 <代码>不是代码>昨天23:55 < /代码>。
for ($iDay = 6; $iDay >= 0; $iDay--) {
    $aDays[7 - $iDay] = date('j/n', strtotime("-" . $iDay . " day"));
}
function getLastNDays($days, $format = 'd/m'){
    $m = date("m"); $de= date("d"); $y= date("Y");
    $dateArray = array();
    for($i=0; $i<=$days-1; $i++){
        $dateArray[] = '"' . date($format, mktime(0,0,0,$m,($de-$i),$y)) . '"'; 
    }
    return array_reverse($dateArray);
}
$arr = getLastNDays(7);
$arr = getLastNDays(7, 'd/m/Y');
echo date("Y-m-d", strtotime("7 days ago"));
for ($i=0; $i<7; $i++)
{
    echo date("d/m", strtotime($i." days ago")).'<br />';
}