js计算两个日期相差天数

矫情吗;* 2022-07-12 03:30 455阅读 0赞
  1. /**
  2. * 两个日期相隔天数,时间格式:yyyy-MM-dd
  3. * 第一个参数不传, 表示当前日期
  4. */
  5. function dateDiff(sDate1, sDate2){
  6. if(sDate1 == sDate2){
  7. return 0;
  8. }
  9. if(!sDate1){
  10. var date = new Date();
  11. var year = date.getFullYear();
  12. var month = date.getMonth()+1;
  13. var day = date.getDate();
  14. sDate1 = year+"-"+month+"-"+day;
  15. }
  16. var aDate, oDate1, oDate2, iDays ;
  17. aDate = sDate1.split("-") ;
  18. oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);//转换为Mm-dd-yyyy格式,这种date的构造方式在苹果手机会报错,见解释
  19. aDate = sDate2.split("-");
  20. oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);
  21. iDays = parseInt(Math.abs(oDate1 - oDate2)/1000/60/60/24); //把相差的毫秒数转换为天数
  22. return iDays;
  23. }

解释:

以上方式在pc和Android上测试都是正常的, 但是在iPhone上测试时,日期的构造函数不起效。 所有就换用date对象的另一种构造函数

oDate1 = new Date(‘年’, ‘月’-1, ‘日’); //月份是从0开始的, 在计算时需要注意月份的加减操作。

发表评论

表情:
评论列表 (有 0 条评论,455人围观)

还没有评论,来说两句吧...

相关阅读