有沒有辦法在兩個時間戳之間生成所有日期字符串? 例如,我有一個最早的時間戳和最新的時間戳1303887600(2011-04-27T00:00:00-07:00), 1325318400(2011-12-31T00:00:00-08:00)
,所以我想從2011-04-27
到2011-12-31
。在PHP中生成日期字符串
如果使用for
循環將時間戳轉換爲日期,則在夏令時間之間進行切換。
有沒有辦法在兩個時間戳之間生成所有日期字符串? 例如,我有一個最早的時間戳和最新的時間戳1303887600(2011-04-27T00:00:00-07:00), 1325318400(2011-12-31T00:00:00-08:00)
,所以我想從2011-04-27
到2011-12-31
。在PHP中生成日期字符串
如果使用for
循環將時間戳轉換爲日期,則在夏令時間之間進行切換。
嘗試是這樣的
$temp_date = $start_date;
While($temp_date <= $end_date)
{
print date("d-m-Y", strtotime($temp_date))
$temp_date = $temp_date + 1 day;
}
for($i=1303887600;$i<=1325318400;$i++) echo date(DATE_ATOM,$i) . "<br />";
$startDate = DateTime::createFromFormat("Y/m/d","2010/12/24",new DateTimeZone("Europe/London"));
$endDate = DateTime::createFromFormat("Y/m/d","2012/01/05",new DateTimeZone("Europe/London"));
$periodInterval = new DateInterval("P1D"); // 1-day, though can be more sophisticated rule
$endDate->add($periodInterval);
$period = new DatePeriod($startDate, $periodInterval, $endDate);
foreach($period as $date){
echo $date->format("Y-m-d") , PHP_EOL;
}
Markdown爲什麼?我誤解了這個問題嗎? – 2012-01-10 19:38:13
是肯定的!但是在你問thx之前請自己嘗試一下。 – noob 2012-01-10 18:18:41
[PHP:返回數組中兩個日期之間的所有日期]的可能重複(http://stackoverflow.com/questions/4312439/php-return-all-dates-between-two-dates-in-an-array) – JJJ 2012-01-10 18:21:52
可能重複的[PHP的 - 有沒有簡單的方法來循環兩個日期之間,並填寫缺失值?](http://stackoverflow.com/questions/8755650/php-is-there-a-simple-way-to -loop-between-dates-and-fill-in-missing-values) – 2012-01-10 19:23:40