0

我正在努力将我的日期和时间从 2013 年 4 月 8 日 00:00:00 GMT-0400(东部夏令时间)格式化为 2013 年 4 月 8 日 01:01:01。尽管我尝试过的所有事情都没有运气。有人可以阐明一点。下面是我尝试过的最后一段代码。谢谢。

var date = new Date(parseInt(data[0].published.substr(6)));
var time = new Date(date.toLocaleDateString());
4

2 回答 2

1

如果可以的话,最好的做法可能是在服务器端格式化日期,或者至少提供一个更普遍有用的日期(如 UNIX 时间戳)而不是格式化的字符串。

但是,如果更改服务器端输出不是一个选项,您可以使用 javascript 日期对象。我看到您已经尝试过了,但是您没有正确使用日期对象的构造函数:

var dateString = 'MON APR 08 2013 00:00:00 GMT-0400 (EASTERN DAYLIGHT TIME)';
var dte = new Date(dateString);
document.write(dte.toDateString()); // output: Mon Apr 08 2013

试试看:http: //jsfiddle.net/BvLkq/

如果您需要重建时间,您可以使用toLocaleDateString( docsgetHours() ) 来传递语言环境或格式字符串,或者您可以使用(etc) 函数手动构建一个。

文档

于 2013-08-13T17:51:40.010 回答
0

只需使用一个简单的正则表达式。

var str = 'MON APR 08 2013 00:00:00 GMT-0400 (EASTERN DAYLIGHT TIME)';
console.log(str.replace(/(.*\d{2}\:\d{2}\:\d{2}).*$/, '$1'));
// outputs MON APR 08 2013 00:00:00
于 2013-08-13T17:38:08.203 回答