web-dev-qa-db-fra.com

JavaScript convertit la chaîne en Date au format (jj mmm aaaa) i.e. 01 juin 2012

Je reçois une variable chaîne ayant la date au format 6/1/2012, je souhaite la convertir en 01 Jun 2012 .JS FIDDLE DEMO

Code j'ai essayé:

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);

Obtenir la sortie en tant que 01 000 2012, obligatoire en tant que 01 Jun 2012

6
Satinder singh

Essaye ça:

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");

Jsfiddle demo

8
Chickenrice

Étant donné que d'autres utilisateurs ont déjà mentionné que "format" n'est pas une méthode standard de l'objet Date. Vous pouvez le faire sans utiliser aucune méthode de formatage (même s'il en existe)

var t_sdate = "6/1/2012";
var sptdate = String(t_sdate).split("/");
var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
var myMonth = sptdate[0];
var myDay = sptdate[1];
var myYear = sptdate[2];
var combineDatestr = myDay + " " + months[myMonth - 1] + " " + myYear;

alert(combineDatestr);

JsFiddle Demo

2
sohaiby
return $.datepicker.formatDate('dd-M-yy', new Date(dateVal)); //01-Dec-2014
1
DhMi

Vous pouvez utiliser javascript Intl https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat

L'exemple suivant montrera quelque chose comme Nov 02, 2017

console.log(new Intl.DateTimeFormat('en-EN', { year: 'numeric', month: 'short', day: 'numeric' }).format(new Date()));

Milton.-

0
Milton