Php 以自定义格式获取数组中最近7天的日期
如何以自定义格式(dd/mm)获取过去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'作为: 也看到这个 ==更新=== @
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 />';
}