假设时开始时间为2015年4月2日,结束时间为2019年4月4月;

 需要先熟悉一下时间对象得一些方法,可参考教程http://www.w3school.com.cn/jsref/jsref_obj_date.asp;

需要将上述时间转换为时间对象,通过new Date()实现;

let startDate = new Date(2015,3,2);         2015/4/2

let endDate = new Date(2019,3,4);       2019/4/4

//得出两时间的年

let startYear =  startDate.getFullYear() ; 2015

let endYear =  endDate.getFulllYear(); 2019

一、计算出时间相隔多少月

   相差月 = 结束时间总月数 - 开始时间得总月数 

   总月数 = XXXX年 * 12 + 当前多少月;

2015年4月2日总月数   let startMonths = startYear * 12 + startDate.getMonth() + 1  = 24184;

2019年4月4日总月数    let endMonths = endYear * 12 + endDate.getMonth() + 1 = 24232;

let intervalMonths =  endMonths - startMonths = 24232 - 24184 = 48个月;

算出相差月数,则还存在时间天差,则:

let gapDays = endDate.getDate() - startDate.getDate() = 4 - 2 = 2天;

     则最后结果为: 相差48个月零3天;

二、计算俩时间相隔多少年

    相差年 = Math.floor((相差总月数 / 12))+ 相差总月数 % 12;

let intervalYears = Math.floor(48 / 4) + (48 %12)= 4;

     相差4年

三、计算出两时间相差多少天;

   相差得天数 = 2019年4月4日的总天数 - 2015年4月2日的总天数  ;

   总天数 =  当前时间绝对毫秒数 / 天总毫秒数  天总毫秒数 = 24 * 60 * 60 * 1000 = 86400000

let startDays = startDate.getTime() /  86400000;

let endDays = endDate.getTime() / 86400000;

let intervalDays = endDays - startDays = 17989 - 16526 = 1463;

   则相差1463天;

四、计算两时间相差XX年XX月XX天

相差得年月 = Math.floor(48 / 12) + 48 % 12 = 4年0月;

相差得天数 = endDate.getDate() - startDate.getDate() = 4 - 2 = 2天;

     则相差4年零2天。

   

如何计算俩日期相隔多少年,多少月,多少天或者两时间相差XX年XX月XX日相关推荐

  1. 计算两个日期相隔多少年,多少月,多少天

    /**function:计算两个日期相隔多少年,多少月,多少天*param string $date1[格式如:2011-11-5]*param string $date2[格式如:2012-12-0 ...

  2. 2017广东全国计算机12月,2018年广东考研时间:2017年12月23日至24日

    2018年考研时间已经公布,出国留学考研网为大家提供2018年广东考研时间:2017年12月23日至24日,更多考研资讯请关注我们网站的更新! 2018年广东考研时间:2017年12月23日至24日 ...

  3. js计算两个时间相差的年、月、日、时、分、秒。

    /* 时间格式:2016-8-31 10:35:00 或 2016/8/31 10:35:00 */ var dateObj=dayCha('2016-8-17','2019-6-30') //执行方 ...

  4. 贪玩蓝月服务器维护需多少时间,手游贪玩蓝月维护多长时间 | 手游网游页游攻略大全...

    发布时间:2017-08-05 诛仙手游体验服11月8日更新维护内容 诛仙手游体验服11月8日更新维护内容,双11活动上线 .下面蚕豆网小编就给大家带来这篇攻略,大家一起来看看吧. 诛仙手游双11活动 ...

  5. JAVA获取一个月的开始与结束时间以及两个日期相差几个月

    一.一个月的开始与结束时间代码如下 /*** 获取指定月的开始日期* @param currentDate* @return*/public static Date getStartDate(Stri ...

  6. 江西省2019计算机二级报名日期,2020年3月江西计算机等级报名时间、报名入口【2019年12月18日-27日】...

    [导语]<2020年3月江西全国计算机等级考试工作通知>现已发布.2020年3月江西计算机等级报名时间:2019年12月18日-27日,考试时间:2020年3月28日-30日,小编现将报考 ...

  7. 四川2020年三月计算机等级考试报名时间,四川2020年3月计算机等级考试报名时间...

    摘要: 四川2020年3月计算机等级考试报名时间为你介绍四川2020年3月计算机等级考试报名时间 报名时间:四川2020年3月计算机等级考试报名时间为2020年12月23日14:00至12月31日18 ...

  8. 12月江苏计算机考试报名入口,江苏2019年12月计算机等级报名时间丨报名系统

    2019年12月江苏计算机考试报名时间:预计在11月左右. 计算机报名全部采用网上报名和网上支付的方式进行报名.请考生登录全国计算机等级考试报名系统 (http://ncre.cqksy.cn/NCR ...

  9. 江苏2021年计算机二级报名时间,江苏3月计算机二级考试报名时间安排

    摘要: 江苏3月计算机二级考试报名时间安排为你介绍2020年3月江苏全国计算机二级考试报名时间已经公布.以下是小编为大家整理的2020年3月江苏计算机二级考试报名时间相关内容,希望对大家有所参考与帮助 ...

最新文章

  1. TP5_接口开发之全局异常控制
  2. php include传参数,浅谈php中include文件变量作用域
  3. asp中正则表达式应用
  4. task search in offline - three filters implementation
  5. SAP CRM事务码COMMPR01无法搜索Individual Object
  6. php 计时器microtime 以及去掉数组重复值array_unique
  7. python pep8_Python 代码风格 和 PEP8
  8. 读取访问权限冲突怎么解决_CPU怎么保证内存访问冲突?一致性?
  9. 20个开发人员非常有用的Java功能代码(一)
  10. 微信小程序点击事件传参方法
  11. scratch编程体感游戏
  12. wingdings字体符号在哪_wingding、Wingdings2、wingdings3字体特殊符号与键盘字母相对应位置...
  13. 一起来玩U3D之场景转换+关卡选择
  14. 暴雪战网重装失败问题解决
  15. 机器学习服务文本翻译能力升级,中文直译模型让译文表达更地道!
  16. jbpm创建流程图_JBPM流程图不显示
  17. C# 调用摄像头解析二维码
  18. 白盒测试方法 + 实战
  19. iOS Password AutoFill开发指南
  20. 用定时器T0查询方式P0口8位控制LED闪烁

热门文章

  1. 用matlab跳动的心,[ 教程 ] 用Arduino制作一个跳动的心
  2. 简单编程---哥德巴赫猜想
  3. 使用集集快速添加公众号预约功能
  4. 解读 CreateMutexWin32A
  5. 8421码,5421码,2421码,余三码之间的区别
  6. rm: cannot remove `/usr/local/tmp/‘: Directory not empty
  7. 简单几个步骤,通过github搭建浪漫的表白网页
  8. 【学术会议】如何rebuttal学术论文?
  9. 金山办公2020校招C++开发工程师笔试题(一)
  10. 100uF,10uF,100nF,10nF不同的容值,这些参数是如何确定的?