1

我可以在二维数组中每分钟获取日期时间吗?我是初学者 php developer.hope 一个可以告诉或分享任何想法的人。

让我说我的输入:

$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

    )

)

4

2 回答 2

3
$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()自己喜欢的方式格式化时间字符串。

于 2013-07-23T03:26:14.133 回答
2

这应该对你有用......它获取开始和结束时间戳的时间戳,并从一个到另一个以 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);
于 2013-07-23T03:21:13.327 回答