Php 如何从数组值计算不同的时间
我的阵型如下:Php 如何从数组值计算不同的时间,php,arrays,Php,Arrays,我的阵型如下: $data = [ '0' => [ 'depart' => '2021-02-09 10:50:00', 'arrival' => '2021-02-09 13:10:00', ], '1' => [ 'depart' => '2021-02-09 14:50:00', 'arrival' => '2021-02-09 15:30:00', ], '2' => [ 'depart' => '
$data = [
'0' => [
'depart' => '2021-02-09 10:50:00',
'arrival' => '2021-02-09 13:10:00',
],
'1' => [
'depart' => '2021-02-09 14:50:00',
'arrival' => '2021-02-09 15:30:00',
],
'2' => [
'depart' => '2021-02-09 18:20:00',
'arrival' => '2021-02-09 19:40:00',
]
])
从上面的数组中,我想计算不同的时间:
0 = calculate different time between [0]['arrival'] and [1]['depart']
1 = calculate different time between [1]['arrival'] and [2]['depart']
我的代码:
$diff_time = [];
foreach ($data as $d => $dta) {
$diff_time[$d] = timeDifference($dta['arrival'], $dta['depart']);
}
谢谢您的帮助。您可以执行以下操作,然后可以使用日期的任何变量,如[y]=>0 [m] =>0 [d] =>0 [h] =>2 [i] =>50 [s] =>0 您将得到如下打印输出: 排列
这回答了你的问题吗?我认为这只是一个开始和结束日期之间的时间。使用上面的数组值如何。请告知这个问题何时提交。我找不到。谢谢,修改副本中的代码以处理数组非常容易,例如,如下面的答案所示。
$data = [
'0' => [
'depart' => '2021-02-09 10:50:00',
'arrival' => '2021-02-09 13:10:00',
],
'1' => [
'depart' => '2021-02-09 14:50:00',
'arrival' => '2021-02-09 15:30:00',
],
'2' => [
'depart' => '2021-02-09 18:20:00',
'arrival' => '2021-02-09 19:40:00',
] ];
$diff_time = [];
foreach ($data as $d => $dta) {
if(isset( $data[$d+1]) && $data[$d+1]){
$dif = date_diff( date_create($data[$d]['arrival']), date_create($data[$d+1]['depart']));
$diff_time[$d] = $dif;
}
}
print_r($diff_time);
(
[0] => DateInterval Object
(
[y] => 0
[m] => 0
[d] => 0
[h] => 1
[i] => 40
[s] => 0
[weekday] => 0
[weekday_behavior] => 0
[first_last_day_of] => 0
[invert] => 0
[days] => 0
[special_type] => 0
[special_amount] => 0
[have_weekday_relative] => 0
[have_special_relative] => 0
)
[1] => DateInterval Object
(
[y] => 0
[m] => 0
[d] => 0
[h] => 2
[i] => 50
[s] => 0
[weekday] => 0
[weekday_behavior] => 0
[first_last_day_of] => 0
[invert] => 0
[days] => 0
[special_type] => 0
[special_amount] => 0
[have_weekday_relative] => 0
[have_special_relative] => 0
)
)