日期字符串转换为JavaScript / jQuery中的unix时间戳

时间:2012-07-16 17:54:44

标签: javascript jquery unix-timestamp

我有这种格式的日期字符串:

2009-07-15 00:00:00 - 2009-07-15 08:16:23

任何人都可以帮助我将日期字符串调整为unix时间戳,如下所示:

1247634000 - 1247663783

我正在使用GMT-5时区。

可以使用哪些JavaScript或jQuery技术?

4 个答案:

答案 0 :(得分:65)

我强烈建议您在js中使用日期时使用Moment Date lib。它非常轻巧而且很棒。

var timeStamp = ( moment('2009-07-15 00:00:00').unix() )*1000

答案 1 :(得分:20)

在Javascript中你可以直接将字符串传递给Date对象构造函数,比如

var date = new Date('2009-07-15 00:00:00'.split(' ').join('T'))

将为您提供日期对象并从中获取时间戳

date.getTime() / 1000

除以1000,因为getTime将以毫秒为单位给出时间戳

Working Demo

注意:

Firefox无法解析给定的日期时间格式,因此我们需要先将其转换为正确的格式,因为我们只需要将日期和时间组件之间的空格替换为“T”,这将使其成为有效的ISO 8601格式和firefox将能够解析它

参考:

Date.parse in MDN

ISO 8601 Date Format

Same question asked here

答案 2 :(得分:19)

var input = "2009-07-15 00:00:00 - 2009-07-15 08:16:23";
input = input.split(" - ").map(function (date){
    return Date.parse(date+"-0500")/1000;
}).join(" - ");

Demo

Date.parse docs

注意:由于我使用Array.map,因此无法使用旧浏览器,但我认为您应该可以轻松地使用它。

答案 3 :(得分:0)

使用split方法,您可以将日期时间格式更改为日期,对每个人来说都非常简单易用。

 var str = "2017-05-09T00:00:00.000Z";
 var res = str.split("-",2);
 var res = str.split("T",1);
 var temp=res;