如果我有两个日期,如何使用JavaScript在分钟内得到两个日期之间的差异?
当前回答
下面的代码对我有用,
function timeDiffCalc(dateNow,dateFuture) {
var newYear1 = new Date(dateNow);
var newYear2 = new Date(dateFuture);
var dif = (newYear2 - newYear1);
var dif = Math.round((dif/1000)/60);
console.log(dif);
}
其他回答
一个简单的函数来执行这个计算:
function getMinutesBetweenDates(startDate, endDate) {
var diff = endDate.getTime() - startDate.getTime();
return (diff / 60000);
}
对于那些喜欢处理小数字的人
const today = new Date();
const endDate = new Date(startDate.setDate(startDate.getDate() + 7));
const days = parseInt((endDate - today) / (1000 * 60 * 60 * 24));
const hours = parseInt(Math.abs(endDate - today) / (1000 * 60 * 60) % 24);
const minutes = parseInt(Math.abs(endDate.getTime() - today.getTime()) / (1000 * 60) % 60);
const seconds = parseInt(Math.abs(endDate.getTime() - today.getTime()) / (1000) % 60);
这应该以分钟为单位显示两个日期之间的差异。在浏览器中试试:
const currDate = new Date('Tue Feb 13 2018 13:04:58 GMT+0200 (EET)')
const oldDate = new Date('Tue Feb 13 2018 12:00:58 GMT+0200 (EET)')
(currDate - oldDate) / 60000 // 64
您可以进行如下操作:
获取日期的差异(以毫秒为单位) 将毫秒转换为分钟i-e ms/1000/60
代码:
let dateOne = new Date("2020-07-10");
let dateTwo = new Date("2020-07-11");
let msDifference = dateTwo - dateOne;
let minutes = Math.floor(msDifference/1000/60);
console.log("Minutes between two dates =",minutes);
这个问题用moment.js很容易解决,就像下面这个例子:
var差异= mostDate。鼩(minorDate,“分钟”);
第二个参数可以更改为其他参数,请参阅moment.js文档。
例如:“天”、“小时”、“分钟”等。
http://momentjs.com/docs/
moment.js的CDN在这里:
https://cdnjs.com/libraries/moment.js
谢谢。
编辑:
mostDate和minorDate应该是moment类型。
编辑2:
对于那些在2020年以后阅读我的答案的人来说,momentjs现在是一个遗留项目。
如果你还在寻找一个知名的库来做这项工作,我会推荐date-fns。
// How many minutes are between 2 July 2014 12:07:59 and 2 July 2014 12:20:00?
var result = differenceInMinutes(
new Date(2014, 6, 2, 12, 20, 0),
new Date(2014, 6, 2, 12, 7, 59)
)
//=> 12
推荐文章
- 右击是Javascript事件吗?
- 如何找到JavaScript数组中包含的最大数字?
- 在数组中获取所有选中的复选框
- 如何为Firebase构建云函数,以便从多个文件部署多个函数?
- 如何发送推送通知到web浏览器?
- AngularJS:工厂和服务?
- js:将一个组件包装成另一个组件
- 父ng-repeat从子ng-repeat的访问索引
- JSHint和jQuery: '$'没有定义
- 模仿JavaScript中的集合?
- 用JavaScript验证电话号码
- 如何在HTML5中改变视频的播放速度?
- 谷歌地图API v3:我可以setZoom后fitBounds?
- 如何在PowerShell格式化日期时间
- ES6/2015中的null安全属性访问(和条件赋值)