为了账号安全,请及时绑定邮箱和手机立即绑定

JS 如何计算两个日期之间的月份,不足一个月按一个月计算?

JS 如何计算两个日期之间的月份,不足一个月按一个月计算?

翻翻过去那场雪 2018-08-26 15:08:09
例如:2018-8-16和2018-9-16 计算出来应该是一个月,2018-8-16和2018-9-17,计算出来应该是两个月function countHours(){    var startTime = $("#startTime").val();    var endTime = $("#endTime").val();     time1 = Date.parse(new Date(startTime));     time2 = Date.parse(new Date(endTime));    var time3 =  parseInt(Math.abs(time2 - time1) / 1000 / 60 / 60 / 24 /30) ;     $("#yearSpan").text( time3 + "个月"); }
查看完整描述

2 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

求得 time3 时向上取整 Math.ceil(),不要直接 parseInt。

查看完整回答
反对 回复 2018-08-27
?
慕村225694

TA贡献1880条经验 获得超4个赞

每月固定30天?不考虑28 29 31天的情况么

  function countMonths (start, end) {    let startTime = new Date(start)    let endTime = new Date(end)    return (endTime.getYear() - startTime.getYear()) * 12 + endTime.getMonth() - startTime.getMonth() + (endTime.getDate() > startTime.getDate() ? 1 : 0)
  }
$("#yearSpan").text( countMonths($("#startTime").val(),$("#endTime").val()) + "个月")


查看完整回答
反对 回复 2018-08-27
  • 2 回答
  • 0 关注
  • 1569 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信