我正在努力将我的日期和时间从 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());
我正在努力将我的日期和时间从 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());
如果可以的话,最好的做法可能是在服务器端格式化日期,或者至少提供一个更普遍有用的日期(如 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) 函数手动构建一个。
文档
只需使用一个简单的正则表达式。
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