蓝狮官网JS计算两个日期之间的天数

算法:
利用毫秒差,由于1秒等于1000毫秒,60秒等于1分钟,蓝狮注册登陆60分钟一小时,一天24小时。所以毫秒差除以(60×60×1000×24)等于天数。

实现方式一:Date.parse
/**

  • 计算两个日期之间的天数
  • @param start 开始日期 yyyy-MM-dd
  • @param end 结束日期 yyyy-MM-dd
  • @returns {number} 如果开始日期等于结束日期,则返回一天;开始日期大于结束日期,则返回0
    / function getDaysBetween(start,end){ var startDate = Date.parse(start); var endDate = Date.parse(end); if (startDate>endDate){ return 0; } if (startDate==endDate){ return 1; } var days=(endDate – startDate)/(2460601000);//1天=246060*1000毫秒
    return days;
    }
    调用

getDaysBetween(‘2022/5/1′,’2022/6/29’);//59

实现方式二:getTime()
参数和返回同方式一。代码如下:

function getDaysBetween(start,end){
var startDate = new Date(start).getTime();
var endDate = new Date(end).getTime();
if (startDate>endDate){
return 0;
}
if (startDate==endDate){
return 1;
}
return (endDate – startDate)/(246060*1000);
}

延伸:Date.parse()和Date.getTime()的区别
1、Date.parse()

该方法可解析一个日期时间字符串,蓝狮官网并返回 1970/1/1 午夜距离该日期时间的毫秒数;

该方法为Date 对象的静态方法;

parse() :输出从 1970/01/01 到一个具体日期的毫秒数;

Date.parse(‘时间可以自定义’)。

var time1 = Date.parse(‘2018/07/11’);
console.log(time1);
2、Date.getTime()

该方法可返回距 1970 年 1 月 1 日之间的毫秒数;

getTime() :输出从 1970/01/01 到一个现在(new Date())的毫秒数;

该方法总是结合一个 Date 对象来使用;

var time2 = new Date();
console.log(time2.getTime());

0 Comments
Leave a Reply