2012-01-10 107 views
1

有沒有辦法在兩個時間戳之間生成所有日期字符串? 例如,我有一個最早的時間戳和最新的時間戳1303887600(2011-04-27T00:00:00-07:00), 1325318400(2011-12-31T00:00:00-08:00),所以我想從2011-04-272011-12-31在PHP中生成日期字符串

如果使用for循環將時間戳轉換爲日期,則在夏令時間之間進行切換。

+0

是肯定的!但是在你問thx之前請自己嘗試一下。 – noob 2012-01-10 18:18:41

+3

[PHP:返回數組中兩個日期之間的所有日期]的可能重複(http://stackoverflow.com/questions/4312439/php-return-all-dates-between-two-dates-in-an-array) – JJJ 2012-01-10 18:21:52

+1

可能重複的[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

回答

1

嘗試是這樣的

$temp_date = $start_date; 
While($temp_date <= $end_date) 
{ 
    print date("d-m-Y", strtotime($temp_date)) 
    $temp_date = $temp_date + 1 day; 
} 
-1
for($i=1303887600;$i<=1325318400;$i++) echo date(DATE_ATOM,$i) . "<br />"; 
-1
$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; 
} 
+0

Markdown爲什麼?我誤解了這個問題嗎? – 2012-01-10 19:38:13