我需要检查两个日期之间的差异 - 从db和actual,但在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秒的日志,但我需要保持&#39;登录1分钟
http://jsbin.com/laruro/edit?js,console
答案 0 :(得分:2)
假设所有日期的格式相同,并且它们是字符串,您可以使用此辅助函数将一个或两个字符串转换为真正的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 );
};
答案 1 :(得分:0)
尝试此功能
function diffInMin(dateString1, dateString2){
return (+ new Date(dateString2) - new Date(dateString1))/(1000*60)
}