javascript - 两个日期(日期时间)之间的差异(以分钟为单位)

标签 javascript jquery ajax

<分区>

我需要检查两个日期之间的差异 - 来自 db 和实际,但在 JS/jQuery 中以分钟为单位(我需要运行函数以通过 ajax 检查)。
这是我的日期格式:

19-01-2016 22:18

我需要这样的东西:

if ( (date_actual - date_db) < 1 minute ) {
   //do something
}

我该怎么做?

编辑:我创建了这样的东西,但我总是得到相同的日志,它没有改变 - http://jsbin.com/xinaki/edit?js,console

编辑 2:这是工作代码,但是现在它在同一小时/分钟内检查,例如。 12:50:50 和 12:50:58 只显示这 2 秒的日志,但我需要“保持”登录 1 分钟
http://jsbin.com/laruro/edit?js,console

最佳答案

假设所有日期都采用相同的格式,并且它们都是字符串,您可以使用此辅助函数将一个或两个字符串转换为真正的 Date() 对象:

var makeDate = function(dateString) {
  var d = dateString.split(/[\s:-]+/);
  return new Date(d[2],d[1] - 1,d[0],d[3],d[4]);
}

然后像这样使用它来比较一个字符串与当前日期:

var diffInMin = function(dateString) {
  return ( new Date() /* < current date */ - makeDate(dateString) ) / ( 1000 * 60 );
};

或者像这样比较两个日期字符串:

var diffInMin = function(dateString1, dateString2) {
  // this assumes date string one will always be more recent than DateString2
  return ( makeDate(dateString1) - makeDate(dateString2) ) / ( 1000 * 60 ); 
};

关于javascript - 两个日期(日期时间)之间的差异(以分钟为单位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35260019/

相关文章:

javascript - Jquery 移动日期选择器未显示在弹出字段中

javascript - 如何阻止特定 Sharepoint 页面的身份验证

javascript - 如何在 FireBug 中调试动态 JavaScript 函数

javascript - 如何在 Select2 中先设置占位符

php - 通过 AJAX Post 使用 UTF-8 发送表情符号

javascript变量空声明或对象

javascript - 尽管 HTML5 可以完成我需要的一切,为什么我还需要视频播放器引擎?

javascript - 将 html 元素本身传递给 javascript 函数

ajax - 请求的资源上不存在 'Access-Control-Allow-Origin' header - Mollie 支付 ajax

javascript - PHP API JSON 响应