您需要有一组日期时间用于签入和结帐。
$in = $this->input->post('checkin');
foreach ($in as $checkin) {
$datetime_array1[] = date_create($checkin);
}
$out = $this->input->post('checkout');
foreach ($out as $checkout) {
$datetime_array2[] = date_create($checkout);
}
然后为他们每个人设置一个数组中的间隔:
foreach ($datetime_array1 as $key => $datetime1) {
$datetime2 = $datetime_array2[$key];
$interval[] = date_diff($datetime2, $datetime1);
}
我不知道您的输入是否正确,所以我给您一个示例:
$datetime_array1[] = date_create('2000-01-01');
$datetime_array1[] = date_create('2000-01-02');
$datetime_array1[] = date_create('2000-01-03');
$datetime_array2[] = date_create('2000-02-01');
$datetime_array2[] = date_create('2000-03-02');
$datetime_array2[] = date_create('2000-04-03');
foreach ($datetime_array1 as $key => $datetime1) {
$datetime2 = $datetime_array2[$key];
$interval[] = date_diff($datetime2, $datetime1);
}
echo '<pre>' . print_r($interval, TRUE) . '</pre>';
返回:
Array
(
[0] => DateInterval Object
(
[y] => 0
[m] => 1
[d] => 0
[h] => 0
[i] => 0
[s] => 0
[invert] => 1
[days] => 31
)
[1] => DateInterval Object
(
[y] => 0
[m] => 2
[d] => 0
[h] => 0
[i] => 0
[s] => 0
[invert] => 1
[days] => 60
)
[2] => DateInterval Object
(
[y] => 0
[m] => 3
[d] => 0
[h] => 0
[i] => 0
[s] => 0
[invert] => 1
[days] => 91
)
)