在Laravel&Vue js项目中,我很想用开始和结束日期来计算日期吗? 我还安装了moment js。 代码如下,
{{item.start_date |我的约会}} {{item.end_date |我的约会}} {{此处为上述日期之间的时间}}
请帮助我。
答案 0 :(得分:3)
您可以使用此逻辑创建新方法:
methods: {
parseDate (start, end) {
return moment(start, 'YYYY.MM.DD HH:mm').diff(moment(end, 'YYYY.MM.DD HH:mm'), "days")
}
}
在模板中,您只需执行以下操作:{{ parseDate(item.start_date, item.end_date) }}
我认为是您所需要的。 Here,您可以立即查看使用diff
的一些示例。
祝你好运!
答案 1 :(得分:1)
如果要从 Laravel 获取数据,则可以使用Carbon来计算差异,如下所示:
$start_date = Carbon::parse($item->start_date);
$end_date = Carbon::parse($item->end_date);
$diff_in_hours = $end_date->diffInHours($start_date);
$diff_in_days = $end_date->diffInDays($start_date)
$diff_in_minutes = $end_date->diffInMinutes($start_date);
$diff_in_seconds = $end_date->diffInSeconds($start_date);
因此,如果您要从查询中获取数据,则可以这样映射查询:
$schedules = DB::table('schedules')
->get()
->map(function($item){
$start_date = Carbon::parse($item->start_date);
$end_date = Carbon::parse($item->end_date);
$item->diff = $end_date->diffInMinutes($start_date);
return $item;
});
型号相同
Schedule::where('status',1)->get()
->map(function($item){
$start_date = Carbon::parse($item->start_date);
$end_date = Carbon::parse($item->end_date);
$item->diff = $end_date->diffInMinutes($start_date);
return $item;
});