0

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

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

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

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

任何想法 ?

4

2 回答 2

2

就像是:

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

console.log(
  (d2 - d1) / 3600000
);
于 2012-12-11T09:03:19.310 回答
0

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

javascript date.parse在chrome和其他浏览器中的区别

演示

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))
于 2012-12-11T09:07:59.557 回答