我可以在2d数组中获得每分钟的日期时间吗?我是php开发人员的初学者。希望有人能告诉我或分享任何想法。
假设我的输入为:
$startdate = 2013/7/01;
$enddate = 2013/7/02;
我怎么能有的功能
getMinuteRange($startdate, $enddate );
我需要函数的输出为:
Array (
[0] => Array
(
[0] => 01/7/2013
[1] => 12.00 a.m
)
[1] => Array
(
[0] => 01/7/2013
[1] => 12.01 a.m
)
[2] => Array
(
[0] => 01/7/2013
[1] => 12.03 a.m
)
.
.
.
[2879] => Array
(
[0] => 02/7/2013
[1] => 11.59 p.m
)
)
$begin = new DateTime('2013/07/01');
$end = new DateTime('2013/07/02');
$interval = new DateInterval('PT1M');//1 minute
$periods = new DatePeriod($begin, $interval, $end, DatePeriod::EXCLUDE_START_DATE);
$arr = iterator_to_array($periods);
print_r($arr);
这将为您提供一个DateTime
对象数组。您可以使用dateTime->format()
按照自己的喜好格式化时间字符串。
这应该适用于您。。。它获取开始和结束时间戳的时间戳,并从一个时间戳走到另一个,增量为60秒。
$startTime = "2013/07/01";
$endTime = "2013/07/02";
$startTS = strtotime($startTime);
$endTS = strtotime("tomorrow", strtotime($endTime));
$results = array();
for($x = $startTS; $x<$endTS; $x+=60){
$results[] = array(date("d/m/Y", $x), date("h.i a", $x));
}
if ($x != $endTS){
$results[] = array(date("d/m/Y", $endTS), date("h.i a", $endTS));
}
print_r($results);