In JavaScript werden führende Nullen hinzugefügt
Habe ich dieses Skript berechnet das Datum für 10 Tage im Voraus im format dd/mm/yyyy:
var MyDate = new Date();
var MyDateString = new Date();
MyDate.setDate(MyDate.getDate()+10);
MyDateString = MyDate.getDate() + '/' + (MyDate.getMonth()+1) + '/' + MyDate.getFullYear();
Brauche ich, um das Datum erscheinen mit führenden Nullen auf den Tag und den Monat Komponente durch die Zugabe von diesen Regeln, um das Skript. Ich kann nicht scheinen, um es zu arbeiten.
if (MyDate.getMonth < 10)getMonth = '0' + getMonth;
und
if (MyDate.getDate <10)get.Date = '0' + getDate;
Wenn jemand mir zeigen könnte, wo legen Sie diese in das Skript wäre ich wirklich dankbar.
InformationsquelleAutor der Frage Julian Coates | 2010-08-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie dies: http://jsfiddle.net/xA5B7/
EDIT:
Erklären,
.slice(-2)
gibt uns die letzten zwei Zeichen des Strings.Also, egal was, wir können hinzufügen
"0"
auf den Tag oder Monat, und Fragen Sie einfach für die letzten zwei da sind immer die zwei, die wir wollen.Also, wenn die
MyDate.getMonth()
zurück9
:so hinzufügen
.slice(-2)
auf, die uns die letzten zwei Zeichen, das ist:Aber wenn
MyDate.getMonth()
zurück10
:so hinzufügen
.slice(-2)
gibt uns die letzten beiden Zeichen, oder:InformationsquelleAutor der Antwort user113716
Hier ist ein Beispiel aus der Date-Objekt docs auf der Mozilla Developer Network mit einer benutzerdefinierten "pad" - Funktion, die zimmerreserviereung, ohne das erweitern von Javascript, Anzahl Prototyp. Die praktische Funktion, die Sie geben als Beispiel ist
Und unten wird es verwendet im Kontext.
InformationsquelleAutor der Antwort Alex Ross
Können Sie definieren einen "str_pad" - Funktion (wie in php):
InformationsquelleAutor der Antwort joan16v
//in Verwendung:
InformationsquelleAutor der Antwort kennebec
InformationsquelleAutor der Antwort meaa
InformationsquelleAutor der Antwort Alex
Könnten Sie ternären operator, um das Datum zu formatieren, wie eine "if" - Anweisung.
Beispiel:
So
wäre ähnlich wie eine if-Anweisung, wo, wenn der getDate() gibt einen Wert kleiner als 10, dann wieder eine '0' + Datum, oder else return Datum wenn mehr als 10 (da wir nicht hinzufügen müssen, um die führenden 0). Dasselbe für den Monat.
Bearbeiten:
Habe vergessen, dass getMonth beginnt mit 0, so addiert +1 zu berücksichtigen. Natürlich könnte man auch einfach sagen, d....getMonth() < 9 :, aber ich dachte mit dem +1 würde helfen, machen es leichter zu verstehen.
InformationsquelleAutor der Antwort Hellojeffy
Wickelte ich die richtige Antwort auf diese Frage in einer Funktion können mehrere führende Nullen jedoch standardmäßig hinzufügen 1 null.
für die Arbeit mit zahlen nur und nicht mehr als 2 Ziffern, dies ist auch ein Ansatz:
InformationsquelleAutor der Antwort Robbie Bardijn
Machen Sie Ihr Leben leichter und verwenden Sie Moment.js einige Beispiel-code:
InformationsquelleAutor der Antwort Gonzalo Bahamondez
Fand ich die shorterst Weg, dies zu tun:
wird, fügen Sie führende Nullen, um alle einsam, einzelne Ziffern
InformationsquelleAutor der Antwort Povesma Dmytro
Für Sie die Menschen aus der Zukunft (ES7+)
Lösung
Erklärung
den
- String.der Prototyp.padStart(targetLength[, padString])
fügt so viele wie möglichpadString
imString.prototype
Ziel, damit die neue Länge des ZieltargetLength
.Beispiel
InformationsquelleAutor der Antwort Amin NAIRI
Folgende Ziele zu extrahieren, Konfiguration, Haken in
Date.protoype
und Konfiguration übernehmen.Ich habe eine
Array
zu Zeit speichern chunks, und wenn ichpush()
this
alsDate
Objekt, es gibt mir die Länge zu Durchlaufen. Wenn ich fertig bin, kann ichjoin
auf diereturn
Wert.Diese scheint zu funktionieren ziemlich schnell: 0.016 ms
demo: http://jsfiddle.net/tive/U4MZ3/
InformationsquelleAutor der Antwort Tim Vermaelen
Andere option, mit einem built-in-Funktion für die Polsterung (aber was in ziemlich langer code!):
Und andere, Bearbeitung von strings mit regulären Ausdrücken:
Aber bewusst sein, dass man-show des Jahres am start und den Tag an der Ende.
InformationsquelleAutor der Antwort joeytwiddle
Fügen Sie etwas Polsterung zu ermöglichen, wird eine führende null - wo nötig - und verketten Sie mit Ihrem Trennzeichen der Wahl als string.
InformationsquelleAutor der Antwort TV-C-15