js计算两个日期差

js片段 同时被 2 个专栏收录
12 篇文章 0 订阅
12 篇文章 0 订阅
function timeDifc(start,end){
    let starts = new Date(start),ends = new Date(end),message = '';
    if (starts.getTime() > ends.getTime())
        return message = "现在的时间小于以前的时间!";

    if ((ends.getTime() - starts.getTime())/(1000*60) < 1)
        return message = "刚刚";

    if (ends.getFullYear() > starts.getFullYear() && ends.getMonth() >= starts.getMonth())
        message += ends.getFullYear() - starts.getFullYear() + "年";

    if (ends.getMonth() > starts.getMonth() && ends.getDate() >= starts.getDate())
        message += ends.getMonth() - starts.getMonth() + "个月";

    if (ends.getDate() > starts.getDate() && ends.getHours() >= starts.getHours())
        message += ends.getDate() - starts.getDate() + "天";

    if (ends.getHours() > starts.getHours() && ends.getMinutes() >= starts.getMinutes())
        message += ends.getHours() - starts.getHours() + "小时";

    if (ends.getMinutes() > starts.getMinutes())
        message += ends.getMinutes() - starts.getMinutes() + "分钟";

    return message;
};

//  注:上边的变量是用let声明的(es6语法),下边是用babel编译后的

 

function timeDifc(start, end) {
    var starts = new Date(start),
        ends = new Date(end),
        message = '';
    if (starts.getTime() > ends.getTime()) return message = "现在的时间小于以前的时间!";

    if ((ends.getTime() - starts.getTime()) / (1000 * 60) < 1) return message = "刚刚";

    if (ends.getFullYear() > starts.getFullYear() && ends.getMonth() >= starts.getMonth()) message += ends.getFullYear() - starts.getFullYear() + "年";

    if (ends.getMonth() > starts.getMonth() && ends.getDate() >= starts.getDate()) message += ends.getMonth() - starts.getMonth() + "个月";

    if (ends.getDate() > starts.getDate() && ends.getHours() >= starts.getHours()) message += ends.getDate() - starts.getDate() + "天";

    if (ends.getHours() > starts.getHours() && ends.getMinutes() >= starts.getMinutes()) message += ends.getHours() - starts.getHours() + "小时";

    if (ends.getMinutes() > starts.getMinutes()) message += ends.getMinutes() - starts.getMinutes() + "分钟";

    return message;
};

 

 

在浏览器的console中测试结果如下:
 

  • 0
    点赞
  • 5
    评论
  • 1
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

评论 5 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页

打赏作者

joe311

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值