PHP按小时递增

时间:2014-07-16 03:15:57

标签: php datetime

我们使用DateTime循环遍历一周中的所有日子并检索每天的数据。我想做同样的事情,除了获得过去24小时的每小时范围。以下是我们每周几天的情况:

$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

上的任何地方找到这些文档

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

文档说明:

  

格式以字母P开头,为&#34;句号。&#34;每个持续时间段由整数值表示,后跟句点指示符。如果持续时间包含时间元素,则规范的该部分前面有字母T

根据该信息,一小时的间隔规格应为:

PT1H