【发布时间】:2012-07-16 17:54:44
【问题描述】:
我有这种格式的日期字符串:
2009-07-15 00:00:00 - 2009-07-15 08:16:23
谁能帮我将日期字符串调整为 unix 时间戳,如下所示:
1247634000 - 1247663783
我正在使用GMT-5 时区。
可以使用哪些 JavaScript 或 jQuery 技术?
【问题讨论】:
标签: javascript jquery unix-timestamp
我有这种格式的日期字符串:
2009-07-15 00:00:00 - 2009-07-15 08:16:23
谁能帮我将日期字符串调整为 unix 时间戳,如下所示:
1247634000 - 1247663783
我正在使用GMT-5 时区。
可以使用哪些 JavaScript 或 jQuery 技术?
【问题讨论】:
标签: javascript jquery unix-timestamp
我强烈建议您在 js 中处理日期时使用 Moment 日期库。它真的很轻,很棒。
var timeStamp = ( moment('2009-07-15 00:00:00').unix() )*1000
【讨论】:
moment.js 时,在与其他答案苦苦挣扎之后,我立即感到安心。祝福创造moment.js的人!!!
Math.floor((new Date().getTime() / 1000) - moment(timestamp).unix());
moment('2009-07-15 00:00:00').unix()
在 Javascript 中你可以直接将字符串传递给 Date 对象的构造函数,比如
var date = new Date('2009-07-15 00:00:00'.split(' ').join('T'))
这将为您提供日期对象并从中获取时间戳
date.getTime() / 1000
除以 1000 因为getTime 会给出以毫秒为单位的时间戳
注意:
Firefox 无法解析给定的日期时间格式,因此我们需要先将其转换为正确的格式,因为我们只需将日期和时间组件之间的空格替换为“T”,这将使其成为有效的 ISO 8601格式和firefox都能解析
参考:
【讨论】:
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(" - ");
注意:这不适用于旧浏览器,因为我使用的是 Array.map,但我认为您应该可以轻松地填充它。
【讨论】:
使用 split 方法可以将日期时间格式更改为最新,对每个人来说都非常简单易行。
var str = "2017-05-09T00:00:00.000Z";
var res = str.split("-",2);
var res = str.split("T",1);
var temp=res;
【讨论】: