2014-07-16 71 views
0

我們使用DateTime循環查看一週中的所有日期並在每一天檢索數據。我想要做同樣的事情,除了獲得過去24小時的每個小時範圍。下面是我們對每週的天:PHP按小時增加

$end = new DateTime(); 
$begin = new DateTime(); 
$begin->sub(new DateInterval("P7D")); 
$interval = new DateInterval('P1D'); 
$daterange = new DatePeriod($begin, $interval ,$end); 
foreach($daterange as $date){ 
    $date1=$date->format('Y-m-d')." 00:00:00"; 
    $date2=$date->format('Y-m-d')." 23:59:59"; 
} 

我明白P7D和P1D都在做,但如何讓我在小時等同?我找不到在php.net

+0

http://php.net/manual/en/dateinterval.construct.php – zerkms

+0

怎麼樣'PT1H'? – Raptor

回答

0

的文檔狀態:

格式開頭字母P,爲 「時期」。每個持續時間段由一個整數值表示,後跟一個句點指示符。如果持續時間包含時間元素,則該規範的該部分是,前面是字母T

有了這些信息,一個小時的時間間隔規格應該是:

PT1H 
+0

是的,我錯過了T.謝謝! – KRay

1

DateInterval::__construct

期間代號是下面這些任何地方的文檔。

Y years 
M months 
D days 
W weeks. can not be combined with D. 
H hours 
M minutes 
S seconds 

如果您需要一個例子,PHP.net有周期指示器和日期字符串之間的few comparisons