javascript将日期格式从yyyy-mm-dd hh:mm:ss更改为mm-dd-yyyy

Javascript change date format from YYYY-MM-DD HH:MM:SS to MM-DD-YYYY

本问题已经有最佳答案,请猛点这里访问。

我想把YYYY-MM-DD HH:MM:SS改成MM-DD-YYYY

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

我想用javascript把这个字符串改成06-15-2013

有图书馆吗?还是应该只使用javascript?


1
2
3
4
5
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");


演示:http://jsfiddle.net/abc123/f6k3h/1/

Javascript:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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();
}

由于这不使用regex,您会注意到一些奇怪的地方….示例:

1
d.getMonth() + 1

这是因为GetMonth索引为0….

1
2
3
4
5
6
 day = day +"";

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

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


参见Moment.js.。我觉得它很有用网址:http://momentjs.com/