jq 获取2个日期之前的相差天数

发布于 2022-09-30 23:11:19 字数 550 浏览 33 评论 0

2021-09-01    2021-09-30    29天
2021-09-01    2021-10-10    31天   为什么不是30天呢
function dateDiff(beginTime, endTime) {
        var aDate, oDate1, oDate2, days;

        aDate = beginTime.split("-");
        console.log(aDate);
        oDate1 = new Date(aDate[0], aDate[1], aDate[2]);
        console.log(oDate1);
        aDate = endTime.split("-");
        oDate2 = new Date(aDate[0], aDate[1], aDate[2]);
        days = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24);
        return days;
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

陈年往事 2022-10-07 23:11:19

计算2个日期之间相差多少天

const dayDif = (date1, date2) => Math.ceil(Math.abs(date1.getTime() - date2.getTime()) / 86400000)
    
dayDif(new Date("2021-09-01"), new Date("2021-09-30"))
// Result: 29
dayDif(new Date("2021-09-01"), new Date("2021-10-10"))
// Result: 39

摘录至:20 个杀手级 JavaScript 单行代码

墨落成白 2022-10-07 23:11:19
const diffDays = (d1, d2) => {
  const date1 = Date.parse(d1.toString());
  const date2 = Date.parse(d2.toString());
  const diff = (date2 - date1) / (3600 * 24 * 1000);
  return diff > 0 ? Math.floor(diff) : Math.ceil(diff || 0);
}

console.log(diffDays('2021-09-01', '2021-8-31'));
// -1 :第一天比第二天晚了一天

console.log(diffDays('2021-09-01', '2021-09-30'));
// 29

console.log(diffDays('2021-09-01', '2021-10-10'));
// 39
惟欲睡 2022-10-07 23:11:19

啥,不太懂你说的啥。
2021-09-01 2021-10-10 执行完方法后是40,不懂你说的31,30,是什么意思。
另外,为什么用split分割开"-"呢?
直接放进去就行啦,还不用判断是"-"还是"/"分割开

let oDate1 = new Date(beginTime)
let oDate2= new Date(endTime)
days = parseInt(Math.abs(oDate1- oDate2) / 1000 / 60 / 60 / 24);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文