重新格式化日期字符串

时间:2013-08-13 17:19:06

标签: javascript jquery

我正在努力格式化我的日期和时间,从2013年4月8日00:00:00 GMT-0400(东部日间时间)看起来像MON APR 08 2013 01:01:01。虽然我尝试过的一切都没有运气。有人可以轻松一点。下面是我尝试过的最后一段代码。谢谢。

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

2 个答案:

答案 0 :(得分: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/

如果您需要重建时间,可以使用toLocaleDateStringdocs)传递区域设置或格式字符串,也可以使用getHours()手动构建一个({1}}(等)功能。

<强>文档

答案 1 :(得分: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