說你給兩臺Unix時間戳是這樣的:通過每一天在這個範圍內,輸出它是這樣的通過所有的Unix時間戳範圍內的天PHP
$startDate = 1330581600;
$endDate = 1333170000;
我要循環:
我試過尋找某種類型的功能來做到這一點,但我不知道如果它甚至可能。
說你給兩臺Unix時間戳是這樣的:通過每一天在這個範圍內,輸出它是這樣的通過所有的Unix時間戳範圍內的天PHP
$startDate = 1330581600;
$endDate = 1333170000;
我要循環:
我試過尋找某種類型的功能來做到這一點,但我不知道如果它甚至可能。
正如我愛DATETIME,DateInterval和DatePeriod,這裏是我的解決方案:
$start = new DateTime();
$end = new DateTime();
$start->setTimestamp(1330581600);
$end->setTimestamp(1333170000);
$period = new DatePeriod($start, new DateInterval('P1D'), $end);
foreach($period as $dt) {
echo $dt->format('Y-m-d');
echo PHP_EOL;
}
這似乎首先被混淆,但它是一個非常合乎邏輯的做法。
隨着DatePeriod你正在定義一個時間間隔爲1天的開始和結束(查看格式DateInterval),然後你可以迭代它。
最後,在每次迭代中,你得到一個DateTime object上,您可以使用DateTime::format()
for ($t = $start; $t < $end; $t = strtotime('+1 day', $t)) {
...
}
+1使用'DateTime'類家族,因爲他們非常該死的真棒。 – FtDRbwLXw6 2012-04-17 18:38:19
爲你+1。我完全和你一樣! – 2012-04-17 18:38:42