Zero ein Datum mit JavaScript auffüllen

7

Ich möchte ein Datum wie folgt formatieren:

May 02 2013

aber im Moment sieht meine Formatierung so aus:

May 2 2013

Wie kann ich diese Art von Datum auf Null setzen, so dass der Tag im Datum etwas wie 02 anstatt nur 2 ?

ist?

Hier ist der Code, den ich verwende:

%Vor%

jsFiddle-Code hier

    
vaibhav jain 02.05.2013, 17:33
quelle

6 Antworten

17

Sie können diese Logik wie folgt implementieren:

%Vor%

FIDDLE

UPDATES - (1. Oktober 2017)

EcmaScript 2017 oder ES8 hat zwei neue String-Prototyp-Methoden eingeführt: padStart() und padEnd() . Wir können zusätzliche Leerzeichen oder Bindestriche (oder jedes andere Zeichen) vor oder nach einem String hinzufügen. Wir können es hier verwenden wie:

%Vor%

(Diese Syntax hätte kürzer sein können, wenn wir d.getDate () nicht in eine Zeichenfolge konvertieren mussten, da padStart nur funktioniert am String)

Demo:

%Vor%
    
palaѕн 02.05.2013, 17:36
quelle
4

Dies ist, was Sie können. Sehen Sie, ob das Datum größer als 9 ist. Wenn ja, verwenden Sie es, wenn Sie keine führende Null hinzufügen

%Vor%     
SirDerpington 02.05.2013 17:37
quelle
2

Lösung

Überprüfen Sie, ob curr_date kleiner als 9 ist. Wenn ja, fügen Sie "0" + curr_date hinzu.

Also mach das inline wie folgt:

%Vor%

Oder direkt in Alarm:

%Vor%

Erklärung

Wie Sie sehen können, habe ich ?: operator verwendet.

  

In der Computerprogrammierung ist ?: ein ternärer Operator, der Teil der Syntax für einen bedingten Basisausdruck in mehreren Programmiersprachen ist. Es wird allgemein als bedingter Operator, inline if (iif) oder ternär if bezeichnet.

Wie funktioniert es?

Es ist einfach! Schau:

%Vor%

oder

%Vor%

Siehe FIDDLE .

    
Ionică Bizău 02.05.2013 17:37
quelle
1

In der aktuellen Entwicklerversion von Chrome (v28.0.1496.0) gibt es eine Funktion toPaddedString(n) für jedes Number-Objekt.

%Vor%

Das ist jedoch ein ziemlich schmaler Browser, um zu zielen, also bezweifle ich, dass es Ihnen viel nützen wird. Es könnte auch ein Teil der Produktionsversion von Chrome sein, aber ich habe diese Version im Moment nicht vor mir. Diese Funktion ist nicht Teil von EcmaScript 5.1, daher ist es am besten, sich nicht darauf zu verlassen. Es ist jedoch nicht [native code] , also ...

%Vor%

Um diese Funktion in jedem Browser zu verwenden, fügen Sie diese Codezeile ein:

%Vor%

Dann kann Ihr Monat wie folgt gepolstert werden:

%Vor%     
mwcz 06.05.2013 02:40
quelle
0
%Vor%     
user6003847 01.03.2016 17:20
quelle
-1

Diese Lösung in coffeescript (in Eco-Datei verpackt) funktionierte für mich

%Vor%     
Simon H 19.02.2014 16:25
quelle

Tags und Links