JavaScript / Extjs - 计算时间戳的小时数

时间:2012-12-11 09:00:02

标签: javascript datetime timezone

我的地图中的每辆车都有这个时间戳格式:

2012-12-11T03:51:43+03:00

我想根据当前时间从中提取小时数。

我不知道如何解析此字符串,然后将其与当前时间进行比较。

任何想法?

2 个答案:

答案 0 :(得分:2)

类似的东西:

var
  d1 = new Date('2012-12-11T03:51:43+03:00'),
  d2 = new Date;

console.log(
  (d2 - d1) / 3600000
);

答案 1 :(得分:0)

您需要先修复Chrome以外的其他浏览器的时间戳

javascript date.parse difference in chrome and other browsers

DEMO

var noOffset = function(s) {
  var day= s.slice(0,-5).split(/\D/).map(function(itm){
    return parseInt(itm, 10) || 0;
  });
  day[1]-= 1;
  day= new Date(Date.UTC.apply(Date, day));  
  var offsetString = s.slice(-5)
  var offset = parseInt(offsetString,10)/100;
  if (offsetString.slice(0,1)=="+") offset*=-1;
  day.setHours(day.getHours()+offset);
  return day.getTime();
}
alert(parseInt((new Date().getTime()-noOffset(yourTimeStamp))/3600000))