首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel + Vue js项目中日期间的计算

问Laravel + Vue js项目中日期间的计算
EN

Stack Overflow用户
提问于 2019-12-22 03:28:20
回答 2查看 1.2K关注 0票数 2

我厌倦了在我的Laravel & Vue js项目中计算开始日期和结束日期?我还安装了js。代码如下,

{item.start_date MyDate} {{item.end_date \MyDate}{此处将在上述日期}之间计算}

请帮帮我。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-12-22 06:06:39

如果您从Laravel获得数据,您可以使用Carbon来计算如下所示的差异:

代码语言:javascript
复制
$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);

因此,如果从查询中获取数据,可以按如下方式映射查询:

代码语言:javascript
复制
$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;
                 });

模型也是如此

代码语言:javascript
复制
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;
                 });
票数 1
EN

Stack Overflow用户

发布于 2019-12-22 07:50:04

您可以使用此逻辑创建新方法:

代码语言:javascript
复制
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的示例。

祝好运!

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59441417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档