我有两种日期格式,我需要计算两者之间的时差。
第一个日期是当前日期。 第二个日期格式如下:
var depDate = 25092018 //ddmmyyyy
var depTime = 08:35 //hh:mm
新的日期功能不采用格式ddmmyyyy
的日期。如何在新的Date函数中输入depDate
我要检查当前日期和depDate
之间的差异。
有人可以帮忙吗?
答案 0 :(得分:1)
变量depDate
中的日期格式无效。您需要在.replace()
中使用正则表达式验证其格式。然后使用Date.prototype.getTime()
获取日期的数值。
var depDate = "25092018";
var depTime = "08:35";
var dateStr = depDate.replace(/(\d{2})(\d{2})(\d{4})/, "$3-$2-$1")+"T"+depTime;
// dateStr => 2018-09-25T08:35
var timeDiff = Math.abs(new Date(dateStr).getTime() - new Date().getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));
// 1000 => to converting millisecond to second
// 3600 => to converting second to hour
// 24 => to converting hour to day
console.log(diffDays);
答案 1 :(得分:0)
如果您使用的是moment模块,那将很容易。在下面编写代码:
let moment = require('moment');
let depDate = "27092018" //ddmmyyyy
let depTime = "08:35" //hh:mm
let date = moment(depDate, "DDMMYYYY").add(moment(depTime,"HH:mm"))
let difference = moment.duration(moment().diff(date)).asHours();
console.log(difference); // This would be the difference in hours.