获得javascript ISO格式的时差

时间:2012-06-26 07:47:57

标签: javascript jquery datetime

我有ISO格式的日期时间,即

2012-06-26T01:00:44Z

我想从当前时间得到时差。如何使用javascript或javascript库Date.js或jquery

实现此目的

4 个答案:

答案 0 :(得分:1)

试试这个:

var someDate = new Date("2012-06-26T01:00:44Z");
var now = new Date();
var one_day = 1000 * 60 * 60 * 24;
var diff = Math.ceil((someDate.getTime()-now .getTime())/(one_day))
alert(diff)

Example fiddle

您可以明显修改one_day变量,以获得所需单位的差异。

答案 1 :(得分:1)

我建议将ISO格式转换为可以跨浏览器工作的内容。

试试这个,

var d = "2012-06-26T01:00:44Z"; 
var someDate = new Date(d.replace(/-/g,'/').replace('T',' ').replace('Z',''));
alert(someDate - new Date()); 

修改

我想,你需要pretty time

尝试this精彩代码

编辑2:

你需要反向,所以试试这个

var old_date = new Date();
alert('Old date: ' + old_date.toGMTString())
var new_date = new Date(old_date.setMinutes(old_date.getMinutes() - 5));
alert('Date 5 minutes before: ' + new_date.toGMTString());

如果您需要时间戳,

alert(new_date.getTime());

答案 2 :(得分:0)

这将为您提供毫秒差异,然后您可以根据需要对其进行格式化

var diff = new Date("2012-06-26T01:00:44Z") - new Date();

答案 3 :(得分:0)

要格式化日期,可以使用此功能获取所需的日期格式,并且可以轻松更改日,月和年的位置。

function convertFormat(inputDate)
  var date = new Date(inputDate);     
  var day = date.getDate();
  var month = date.getMonth()+1;
  var year = date.getFullYear();
  var fullYear = year + '/' + month + '/' + day
  return fullYear;