Holen Sie sich Monatsname aus Datum
Wie kann ich das generieren der Namen von Monat zu Monat (e.g: Okt/Oktober) aus diesem date-Objekt in JavaScript?
var objDate = new Date("10/11/2009");
Neulinge verwenden Antwort von David Storey statt angenommen eine
InformationsquelleAutor Shyju | 2009-10-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist noch einer, mit Unterstützung für die Lokalisierung 🙂
kann man dann einfach durch hinzufügen von Unterstützung für andere Sprachen:
Date.locale
istundefined
. es ist eine ausgezeichnete Antwort für andere JS-Implementierungen aber!Dies könnte dann Sinn machen, wenn die lokalisierten name-arrays erstellt wurden, verwenden die Datum.der Prototyp.toLocaleString. Auch die Erweiterung built-in Prototypen und Objekten ist nicht als eine gute Idee.
InformationsquelleAutor krcko
Wenn Sie nichts dagegen haben, erweitern das Datum Prototyp (und es gibt einige gute Gründe, dies nicht tun wollen), Sie können tatsächlich kommen mit einer sehr einfachen Methode:
Diese Funktionen gelten dann für alle javascript-Date-Objekte.
Es ist, weil Sie sind im wesentlichen arbeiten im globalen Raum. Wenn Sie import-jemand anderes-Funktionen oder Bibliotheken, die dies auch tun, dann könnten Sie sich gegenseitig überschreiben.
Diese Funktionalität ist längst überfällig in JavaScript. +1 für den Vorschlag: "es sollte einfach da sein". Erweitern Sie es und ziehen weiter.
-1 für die Annahme, die Ausweitung
Date.prototype
für Namen, die widerstreitenden Gründe. Eine einfache und sichere alternative wäre, konvertieren Sie diese Methoden, um Funktionen, die akzeptieren das Datum als parameter.-1, weil wenn jemand nutzt diese und zukünftige Versionen von ES oder einige andere Rahmen hinzufügen diese Methoden Probleme verursachen wird. Vermeiden Prototypen auf alle Kosten, die auf core-Objekte. Nehmen Sie das von jemandem, der es gesehen hat, missbraucht-und die Folgen, die der Missbrauch viel.
InformationsquelleAutor nickf
Empfehle ich herzlich die
format
Funktion aus, die moment.js Bibliothek, die Sie verwenden können, wie diese:Verwenden "MMMM" statt "MMM", wenn Sie benötigen den vollständigen Namen des Monats
Zusätzlich zu einer langen Liste von anderen Funktionen, es hat eine starke Unterstützung für die Internationalisierung.
Wenn Sie die route von heavy-Optimierung und die Reduzierung von http-requests, kann dies nicht eine option für Sie. Halten Sie sich stattdessen nur mit einem array der Monatsnamen, wenn Sie Vorhaben, Sie nur zu formatieren Namen des Monats in einer Zeile code.
Der Moment ist ein sehr, eine große Bibliothek, und die Art und Weise übertrieben. Moderne alternativen sind
Luxon
unddate-fns
, aber dann wieder, es ist Breite browser-Unterstützung für die Internationalisierung API-heute.InformationsquelleAutor Brian M. Hunt
Kann verwendet werden, als
InformationsquelleAutor Beena Shetty
Könnten Sie datejs zu tun. Überprüfen Sie die FormatSpecifiers, MMMM gibt Sie den Monatsnamen:
Und datejs bekam, dass lokalisierte für mehr als 150 locales! Siehe hier
InformationsquelleAutor Tim Büthe
Versuchen:
InformationsquelleAutor beneus
Hier ist ein Weg, der nicht davon abhängen, a hard-coded array und mehrere Gebietsschemas unterstützt.
, Wenn Sie müssen eine ganze Reihe:
Verwendung:
Wenn Sie nur einen ausgewählten Monat (schneller):
Verwendung:
Getestet und funktioniert gut in Chrome und IE 11. Auf mozilla sind einige änderungen erforderlich, weil es gibt das ganze Datum.
toLocaleString
InformationsquelleAutor Дамян Станчев
Dem natürlichen format dieser Tage ist, zu verwenden Moment.js.
Den Weg, um den Monat in einem string-format ist sehr einfach in der Moment.js keine Notwendigkeit, hart-code-Namen des Monats in Ihrem code:
Um den aktuellen Monat und Jahr Monat name-format und full Jahr (Mai 2015) :
Der Moment ist ein sehr, eine große Bibliothek, und die Art und Weise übertrieben. Moderne alternativen sind
Luxon
unddate-fns
, aber dann wieder, es ist Breite browser-Unterstützung für die Internationalisierung API-heute.InformationsquelleAutor shacharsol
Anstelle der Deklaration von array -, die alle den Namen des Monats und dann zeigt mit einem index, wir können auch schreiben Sie es in einer kürzeren version als unten:
MAY 1, 2015 AT 12:00:00 AM GMT-4
(bei Verwendung{ month: "long" }
Parameter)Sie können auch die Standard
new Date().toLocaleString(navigator.language, { month: "short" })
InformationsquelleAutor Anand kumar
Leider der beste Weg zu extrahieren Sie den Namen des Monats ist aus der UTCString Darstellung:
InformationsquelleAutor Aaron Cronin
Können Sie einen von mehreren verfügbaren Datums-formatter. Da dies fällt in der JavaScript-Spezifikation, es wird sowohl in der browser-und server-side-Modi.
z.B.
Gibt es mehr zu https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
InformationsquelleAutor Dinesh
Mit momentjs, benutzen Sie einfach die format notation.
moment
ist ein sehr, eine große Bibliothek, und die Art und Weise übertrieben. Moderne alternativen sindLuxon
unddate-fns
, aber dann wieder, es ist Breite browser-Unterstützung für die Internationalisierung API-heute.InformationsquelleAutor lnmunhoz
Speichern Sie die Namen in ein array und schau, indem der index des Monats.
JavaScript getMonth () - Methode
var month = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ];
? Weit kürzer als indem Sie Sie einzeln...InformationsquelleAutor rahul
Wenn Sie mit jQuery sind, sind Sie wahrscheinlich auch mit jQuery UI, können Sie sich $.datepicker.formatDate().
InformationsquelleAutor mhu
Wenn Sie nicht möchten, zu verwenden, um eine externe Bibliothek ein, oder speichern Sie ein array mit Monatsnamen, oder wenn die ECMAScript-Internationalisierungs-API ist nicht gut genug, weil der browser-Kompatibilität Sie können immer tun es die altmodische Art und Weise durch das extrahieren der Informationen aus dem Datum der Ausgabe:
Dies würde Ihnen die abgekürzte name des Monats, z.B. Oct. Ich glaube, der Zeitpunkt wird kommen, in allen möglichen Formaten, je nach der Initialisierung und Ihrem Gebietsschema, so nehmen Sie einen Blick an, was
toDateString()
zurück und berechnen Ihrsubstring()
Werte, die Grundlage.InformationsquelleAutor Matt K
Meine Beste Lösung ist wie folgt:
Was macht diese Ihre "Beste Lösung"?
InformationsquelleAutor user3920942
Wenn Sie nicht möchten, verwenden moment und anzeigen möchten Monat name -
InformationsquelleAutor Kanchan
Kann dies auch tun, wenn Sie mit kendo.
Hier sind die Liste der Formatierer aus kendo Seite:
InformationsquelleAutor Navoneel Talukdar
Habe ich eine Teillösung, die ich kam mit. Es verwendet einen regulären Ausdruck extrahieren Sie den Monat und den Tag-Namen. Aber als ich durch die Region-und Sprachoptionen (Windows -) ich weiß, dass verschiedene Kulturen unterschiedliche format um... vielleicht einen besseren regulären Ausdruck Muster könnten nützlich sein.
Ich sah in ihm ein wenig, ich denke um eine Sprache wirklich unabhängige Lösung, die Sie brauchen würde, um einen regulären Ausdruck, der verwendet UNICODE-zeichenbereiche. Die zeichenbereiche wäre für verschiedene Alphabete, damit ich nicht denke, es wäre eine one-size-fits-all RegExp, die wir nutzen könnten.
InformationsquelleAutor Remus
InformationsquelleAutor John Nikho
Nur die Erweiterung auf die vielen anderen sehr guten Antworten - wenn Sie mit jQuery - man könnte nur so etwas tun
wo
date
ist gleich dervar d = new Date(somevalue)
. Der primäre Vorteil von diesem ist pro @nickf sagte über die Vermeidung der globalen namespace.InformationsquelleAutor Tim
Erhalten ein array mit den Monatsnamen :
http://jsfiddle.net/polinux/qb346/
InformationsquelleAutor vava
Verwendung dieser mate
InformationsquelleAutor