Javascript将日期格式从YYYY-MM-DD HH:MM:SS更改为MM-DD-YYYY

Javascript将日期格式从YYYY-MM-DD HH:MM:SS更改为MM-DD-YYYY,javascript,Javascript,我想将YYYY-MM-DD HH:MM:SS更改为MM-DD-YYYY 例如: 我有一个字符串,它以这种格式表示日期:2013-06-15 03:00:00 我想使用JavaScript将此字符串更改为06-15-2013 有图书馆可以这样做吗?或者我应该只使用JavaScript吗?请参阅moment.js。。我觉得它很有用 function change(time) { var r = time.match(/^\s*([0-9]+)\s*-\s*([0-9]+)\s*-\s*([0

我想将
YYYY-MM-DD HH:MM:SS
更改为
MM-DD-YYYY

例如: 我有一个字符串,它以这种格式表示日期:
2013-06-15 03:00:00

我想使用JavaScript将此字符串更改为
06-15-2013


有图书馆可以这样做吗?或者我应该只使用JavaScript吗?

请参阅moment.js。。我觉得它很有用
function change(time) {
    var r = time.match(/^\s*([0-9]+)\s*-\s*([0-9]+)\s*-\s*([0-9]+)(.*)$/);
    return r[2]+"-"+r[3]+"-"+r[1]+r[4];
}
change("2013-06-15 03:00:00");
演示:

Javascript:

var d = new Date();
var c = new Date('2013-06-15 03:00:00');

alert(formatDate(c));
alert(formatDate(d));

function formatDate(d)
{
    var month = d.getMonth();
    var day = d.getDate();
    month = month + 1;

    month = month + "";

    if (month.length == 1)
    {
        month = "0" + month;
    }

    day = day + "";

    if (day.length == 1)
    {
        day = "0" + day;
    }

    return month + '-' + day + '-' + d.getFullYear();
}
因为它不使用正则表达式,所以您会注意到一些奇怪之处……例如:

d.getMonth() + 1
这是因为getMonth的索引为0

 day = day + "";

    if (day.length == 1)
    {
        day = "0" + day;
    }

这是因为当小时、秒、分钟都是1位数时,它们都返回1位数…这使得它们返回一个前导0。如果需要,可以对月份和日期执行相同的操作。

库?一个简单的正则表达式就足够了。为什么要用javascript呢?你只需要花点时间就可以做到SampleDateFormat@Souad:您有什么理由鼓励在特定于JavaScript的问题中使用Java工具吗?这个问题是您真正的意思吗?因为您的标题具有误导性…Javascript将日期格式从YYYY-MM-DD HH:MM:SS更改为MM-DD YYYY请至少包含一个如何使用给定library.Whelp的示例。这是一个离题的答案,问题是如何修改现有的时间字符串,而不是如何使用给定的格式创建一个新的时间字符串。有效点…在阅读时,我显然更改了一些单词,因为我认为没有人会想做他所问的事情…主要是因为问题的标题“Javascript将日期格式从YYYY-MM-DD HH:MM:SS更改为MM-DD-YYYY”,我对他的问题进行了编辑,根据他的回答,我可能会删除此答案。现在不需要返回HH:MM:SS即可更正。