Javascript 重新格式化日期字符串
我正在努力将我的日期和时间从2013年4月8日周一00:00:00 GMT-0400(东部夏令时)格式化为2013年4月8日周一01:01:01。虽然我尝试过的每一件事都不走运。有人能给我点光吗。下面是我尝试过的最后一段代码。谢谢Javascript 重新格式化日期字符串,javascript,jquery,Javascript,Jquery,我正在努力将我的日期和时间从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()); 只需使用一个简单的正则表达式 var date =
var date = new Date(parseInt(data[0].published.substr(6)));
var time = new Date(date.toLocaleDateString());
只需使用一个简单的正则表达式
var date = new Date(parseInt(data[0].published.substr(6)));
var time = new Date(date.toLocaleDateString());
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
如果可以,最好的做法可能是在服务器端格式化日期,或者至少显示一个更通用的日期(如UNIX时间戳),而不是格式化的字符串
var date = new Date(parseInt(data[0].published.substr(6)));
var time = new Date(date.toLocaleDateString());
但是,如果不能更改服务器端输出,则可以使用javascript日期对象。我知道您已经尝试过了,但是没有正确使用日期对象的构造函数:
var date = new Date(parseInt(data[0].published.substr(6)));
var time = new Date(date.toLocaleDateString());
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
试试看:
var date = new Date(parseInt(data[0].published.substr(6)));
var time = new Date(date.toLocaleDateString());
如果需要重构时间,可以使用toLocaleDateString
()传递区域设置或格式字符串,也可以使用getHours()
(etc)函数手动构建区域设置或格式字符串
var date = new Date(parseInt(data[0].published.substr(6)));
var time = new Date(date.toLocaleDateString());
文档
var date = new Date(parseInt(data[0].published.substr(6)));
var time = new Date(date.toLocaleDateString());
MDN上的对象-日期
localeFormat
是一种非标准方法。Mozilla U/A也实现了一种相关但不同的非标准方法。然而,有一种称为toLocaleDateString
的标准化方法,它有一个复杂的格式参数,可以以标准方式完成工作。另外,还有一个,它是一个轻量级库,提供更复杂(和标准化的!)日期格式选项。很高兴我能提供帮助--我已经编辑了我的答案,其中包含了一些关于toLocaleDateString
:)