js两个日期比较相差多少天实例

简介: js两个日期比较相差多少天实例

首先来分析一个问题,两个日期是什么格式的?假设是字符串格式:

可能是:2018/04/20,也可能是:2018/04/20 12:00:00

那接下来分情况讨论。

首先看看不含时间部分的日期格式计算:

var aDate = new Date('2018/04/23'); // 通过日期字符串,初始化第一个日期对象
var bDate = new Date('2018/04/25'); // 同上,初始化第二个日期对象
var aDay = 24 * 60 * 60 * 1000; // 完整一天有24小时,将小时换算成毫秒时间戳
var diffDay = (bDate - aDate) / aDay; // 计算间隔天数(注意日期隐式转换)
console.log(diffDay); // 2,23日-25日间隔2天

然后再来看看包含时间部分的日期格式计算:

 

var aDate = new Date('2018/04/23');
var bDate = new Date('2018/04/25 12:00:00'); // 包含时间的日期字符串
var aDay = 24 * 60 * 60 * 1000;
var diffDay = (bDate - aDate) / aDay;
console.log(diffDay); // 2.5,自然计算的结果
console.log(Math.floor(diffDay)); // 2,根据个人情况向下取整,整数天
console.log(Math.ceil(diffDay)); // 3,根据个人情况向上取整,整数天

更多内容请看前端面试题库

WX搜索 【MST题库】小程序查看

相关文章
|
1月前
|
JavaScript 前端开发
JavaScript Date(日期) 对象
JavaScript Date(日期) 对象
39 2
|
2月前
|
JavaScript 前端开发
js时间戳转日期时间
js时间戳转日期时间
81 20
|
14天前
|
JavaScript 前端开发 搜索推荐
Moment.js、Day.js、Miment,日期时间库怎么选?
【10月更文挑战第29天】如果你需要一个功能强大、插件丰富的日期时间库,并且对性能要求不是特别苛刻,Moment.js是一个不错的选择;如果你追求极致的轻量级和高性能,那么Day.js可能更适合你;而如果你有一些特定的日期时间处理需求,并且希望在性能和功能之间取得平衡,Miment也是可以考虑的。
|
1月前
|
前端开发 JavaScript
基础 JavaScript 实例
基础 JavaScript 实例
21 1
|
2月前
|
JavaScript 前端开发
|
3月前
|
JavaScript
js之选项卡制作实例
js之选项卡制作实例
28 0
|
5月前
|
JavaScript vr&ar 数据库
技术笔记:Js获取当前日期时间及其它操作
技术笔记:Js获取当前日期时间及其它操作
132 1
|
4月前
|
JavaScript
vue 农历日期转公历日期(含插件 js-calendar-converter 使用教程)
vue 农历日期转公历日期(含插件 js-calendar-converter 使用教程)
236 0
|
4月前
|
设计模式 缓存 JavaScript
js设计模式实例
【7月更文挑战第2天】JavaScript设计模式包含工厂、单例、建造者、抽象工厂和代理模式等,它们是最佳实践和可重用模板,解决创建、职责分配和通信等问题。例如,工厂模式封装对象创建,单例确保全局唯一实例,建造者模式用于复杂对象构建,抽象工厂创建相关对象集合,而代理模式则控制对象访问。这些模式提升代码质量、可读性和灵活性,是高效开发的关键。
37 0