【发布时间】:2015-08-09 11:46:48
【问题描述】:
我想根据时间将数据数组拆分为三个数组 - 过去、今天、以后。
对于今天的数组,只有今天的日期和时间大于今天的时间的数据应该在那里。
这是我的代码。它没有错误(据我所知)。我得到了想要的结果,但我想知道这段代码是否可以更优化。
$current_date = date('Y-m-d');
$current_time = date('H:i:s');
foreach($data as $key => $value) {
if(date('Y-m-d', $value->meeting_scheduled_at) > $current_date) {
$calendar_data['later'][] = $value;
} elseif (date('Y-m-d', $value->meeting_scheduled_at) < $current_date
|| ( (date('Y-m-d', $value->meeting_scheduled_at) == $current_date)
&& (date('H:i:s', $value->meeting_scheduled_at) < $current_time) )
) {
$calendar_data['past'][] = $value;
} else {
$calendar_data['now'][] = $value;
}
}
$value->meeting_scheduled_at 在时间戳中
编辑:我在 Laravel 项目中使用它。
所以,如果会议安排在今天,时间是晚上 6 点。它将进入今天的阵列,直到下午 6 点。下午 6 点之后,它进入过去的数组。简而言之,以后的数组中不应该有任何内容,除非并且直到第二天。
【问题讨论】:
-
希望你得到了排序。如果您对所提供的任何答案感到满意,请确保选择您喜欢的答案。
标签: php arrays datetime laravel