【发布时间】:2012-12-14 03:13:33
【问题描述】:
我有一个格式为“2012-12-20 21:34:09”的日期。
如何格式化成dd/mm/yyyy的格式
【问题讨论】:
标签: javascript datetime timestamp date-formatting
我有一个格式为“2012-12-20 21:34:09”的日期。
如何格式化成dd/mm/yyyy的格式
【问题讨论】:
标签: javascript datetime timestamp date-formatting
使用 RegExp 的强大功能变得非常简单:
"2012-12-20 21:34:09".replace(/^(\d+)-(\d+)-(\d+).*/, '$3/$2/$1');
返回"20/12/2012"
【讨论】:
其他答案均不处理零填充,这意味着它们不适合其他日期的 dd/mm/yyyy 格式。
var date = new Date("2012-12-20 21:34:09");
var converted = String("0" + date.getDate()).slice(-2);
converted += "/" + String("0" + date.getMonth()+1).slice(-2);
converted += "/" + date.getFullYear();
alert(converted);
编辑
跨浏览器版本:
var parts = "2012-12-20 21:34:09".split(" ")[0].split("-");
var converted = String("0" + parts[1]).slice(-2);
converted += "/" + String("0" + parts[2]).slice(-2);
converted += "/" + parts[0];
alert(converted);
【讨论】:
应该这样做。
var date = new Date(Date.parse("2012-12-20 21:34:09"));
var converted = date.getDate() + "/" + (date.getMonth()+1) + "/" + date.getFullYear();
值得注意的是,这仅适用于 Chrome 和 Opera。(感谢 Gaby aka G. Pertrioli)
【讨论】:
Date.parse('somestring') 和 new Date('somestring') 使用相同的解析器,所以它仍然无法工作......(至少在我的机器上它失败了......它真的对你有用吗? i>)
Date.parse() 的情况下工作。我正在使用 Chrome
您可以解析日期并重新打印它。像这样的:
var date = new Date( Date.parse( "2012-12-20 21:34:09" ) );
var formattedDate = date.getDate() + "/" + ( date.getMonth() + 1 ) + "/" + date.getFullYear();
【讨论】:
你可以试试
var mydate = '2012-12-20 21:34:09';
var formatteddate = mydate.split(' ')[0].split('-').reverse().join('/');
【讨论】: