我想獲得一個約會了一段時間比如今天是"2011-11-24"
,我想今天前7天:如何在PHP中使用date之前的一段時間?
的值是:
"2011-11-23", "2011-11-22", "2011-11-21", "2011-11-20",
"2011-11-19", "2011-11-18", "2011-11-17"
我想獲得一個約會了一段時間比如今天是"2011-11-24"
,我想今天前7天:如何在PHP中使用date之前的一段時間?
的值是:
"2011-11-23", "2011-11-22", "2011-11-21", "2011-11-20",
"2011-11-19", "2011-11-18", "2011-11-17"
使用新的日期/時間類,你可以做到以下幾點:
$p = new DatePeriod(
new DateTime('now'),
DateInterval::createFromDateString('-1 day'),
7,
DatePeriod::EXCLUDE_START_DATE
);
foreach ($p as $t) {
echo $t->format('Y-m-d') . '<br />';
}
$timestamp = strtotime('YYYY-MM-DD - 1 week');
$timestamp = time() - (7*60*60*24);
echo date('Y-m-d',$timestamp);
對不起,只能得到一個值,我想得到某個值的日期 – Shamrocker
然後你只需使用mktime或其他函數從你的日期創建一個時間戳。但我會去喝酒版本。 – OptimusCrime
如果我正在讀你的權利,你希望在過去七天的每一天。像這樣的東西會工作:
$today = time();
for($daysAgo = 1; $daysAgo <= 7; $daysAgo++) {
echo date('Y-m-d', strtotime("-$daysAgo days", $today)) . '<br />';
}
這是工作,但我想讓它更容易。 – Shamrocker
謝謝,我想知道liquorvicar的方式可以跑得更快嗎? – Shamrocker
酒液顯示的方式更快 - 當然。上面的解決方案更加靈活,支持不同的時區,在Unix時間戳範圍之外工作,並且可以更正確地處理DST更改。 –