2

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

2012-06-26T01:00:44Z

我想获得与当前时间的时差。如何使用 javascript 或 javascript 库 Date.js 或 jquery 来实现这一点

4

4 回答 4

1

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

var diff = new Date("2012-06-26T01:00:44Z") - new Date();
于 2012-06-26T07:52:14.120 回答
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)

示例小提琴

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

于 2012-06-26T07:52:21.237 回答
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

试试这个很棒的代码

编辑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());
于 2012-06-26T08:03:38.967 回答
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;
于 2019-01-13T05:21:02.807 回答