2016-10-11 4 views
1

Dies ist möglich, um den lokalisierten vollständigen Monatsnamen mit nativem zu erhalten.Lokalisierten Monatsnamen mit nativem JS erhalten

var objDate = new Date("10/11/2009"), 
    locale = "en-us", 
    month = objDate.toLocaleString(locale, { month: "long" }); 

Aber das erhält nur die Monatszahl für ein bestimmtes Datum. Ich möchte einfach den Monatsnamen erhalten, der einer Monatsnummer entspricht. Zum Beispiel, wenn ich getMonth(2) mache, würde es February zurückgeben. Wie kann ich getMonth mit nativen implementieren (keine Bibliotheken wie moment)?

Antwort

4

Sie sind bereits in der Nähe:

var getMonth = function(idx) { 

    var objDate = new Date(); 
    objDate.setMonth(idx-1); 

    var locale = "en-us", 
     month = objDate.toLocaleString(locale, { month: "long" }); 

    return month; 
} 
+0

Wissen Sie, ob es einen Weg gibt, es zu tun, ohne ein Datum Objekt zu instanziiert zu benötigen? – user779159

+0

Ich würde mich nicht auf die Sprache verlassen: Fügen Sie einfach ein Array von Monatsnamen in Ihre Lokalisierungsdatei ein (oder machen Sie es, wenn Sie keines haben). – k102