JavaScript将字符串转换为日期格式(dd mmm yyyy),即2012年6月1日

Sat*_*ngh 6 javascript date date-formatting

我得到一个字符串变量格式的日期6/1/2012,我想将其转换为01 Jun 2012. JS FIDDLE DEMO

我试过的代码:

var t_sdate="6/1/2012";                  
var sptdate = String(t_sdate).split("/");
var myMonth = sptdate[0];
var myDay = sptdate[1];
var myYear = sptdate[2];
var combineDatestr = myYear + "/" + myMonth + "/" + myDay;

var dt = new Date(combineDatestr);
var formatedDate= dt.format("dd mmm yyyy")
alert(formatedDate);
Run Code Online (Sandbox Code Playgroud)

获得输出01 000 2012,需要为01 Jun 2012

Chi*_*ice 9

试试这个:

function getFormattedDate(input) {
    var pattern = /(.*?)\/(.*?)\/(.*?)$/;
    var result = input.replace(pattern,function(match,p1,p2,p3){
        var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
        return (p2<10?"0"+p2:p2) + " " + months[(p1-1)] + " " + p3;
    });

    alert(result);
}

getFormattedDate("6/1/2013");
Run Code Online (Sandbox Code Playgroud)

Jsfiddle演示