只是粗略的计算,对差额的时分秒毫秒没有做更具体的处理,原理是通过时间戳计算两个时间点的毫秒差,再换算为天

方式1:

(new Date('2021/04/22').getTime() - new Date('2021/04/20').getTime())/1000/60/60/24;  // 2

发现这样的结果也一样

(new Date('2021/04/22') - new Date('2021/04/20'))/1000/60/60/24

new Date出来的日期类型相运算会隐式转变为时间戳来运算

方式2:

function diffDay(lastDate,earlyDate){
    return (Date.parse(lastDate) - Date.parse(earlyDate))/1000/60/60/24;
}

diffDay('2021/04/22','2021/04/20'); //return 2

getTime 和 Date.parse 都可以转化为时间戳,
getTime 方法是把一个Date对象转成毫秒,Date.parse方法是把一个时间格式的字符串转换成毫秒,都表示从1970年1月1日0时0分0秒距离该时间点所代表的时间毫秒数。

可参考mdn文档:Date.prototype.getTime()Date.parse()

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐