javascript - 计算两个时间的天差

标签 javascript datetime date-formatting

我有两种日期格式,我需要计算两者之间的时差。

第一个日期是当前日期。 第二个日期格式如下:

var depDate = 25092018  //ddmmyyyy
var depTime = 08:35 //hh:mm

新的日期函数不采用 ddmmyyyy 格式的日期。如何在新的日期函数中输入 depDate

我想检查当前日期和 depDate 之间的差异。

有人可以帮忙吗?

最佳答案

变量 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);

关于javascript - 计算两个时间的天差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52645658/

相关文章:

java - Joda Time : How to get the day from a particular date in a year?

java - 如何在java中格式化持续时间? (例如格式 H :MM:SS)

python - Django:本地化不带年份的日期

javascript - 仅在调用 html 文件中的函数后才对初始化应用程序使用react

javascript - 如何在 shopify 联系表单中捕获网站 url

java - 根据时间条件确定 Action

ruby-on-rails - RABL:将默认日期和时间格式更改为 iso8601

c++ - strftime 的类似 snprintf 的合理替代品?

JavaScript 函数未定义

javascript - Firefox loadURI 不起作用