2010-05-20 6 views

Antwort

17
if (currentMonth < 10) { currentMonth = '0' + currentMonth; } 
+0

Dank! Ich hatte ursprünglich 'if (currentMonth <9) {currentMonth =" 0 "+ currentMonth; } 'und es hat nicht funktioniert. Ich denke, ich brauche einfache Anführungszeichen statt Double. –

+0

Odd .. die Art des Zitats sollte nicht wichtig sein! Vielleicht ein Artefakt der Art Zwang und der '+' Operator .. – Matt

+1

Sie wollen '<10' sonst 9 nicht zurück '09' –

47

Eine alternative Art und Weise:

var currentMonth=('0'+(currentDate.getMonth()+1)).slice(-2) 
+1

+1, weil ich dich für einen Teil meiner Antwort kopiert habe. – eyelidlessness

+1

+1 für Eleganz –

+0

Danke Jungs! :) –

0

Damit die akzeptierten Antwort einen String zurück es konsequent, sollte sein:

if(currentMonth < 10) { 
    currentMonth = '0' + currentMonth; 
} else { 
    currentMonth = '' + currentMonth; 
} 

Oder:

currentMonth = (currentMonth < 10 ? '0' : '') + currentMonth; 

Just for funsies, hier ist eine Version ohne Bedingung:

currentMonth = ('0' + currentMonth).slice(-2); 

Edit: geschaltet slice, pro Gert G Antwort, Kredit, in dem Kredit passend ist; substr auch funktioniert, habe ich nicht erkennen, dass es

0

ein negatives start Argument akzeptiert Wenn Sie dies tun

var currentDate = new Date(); 
var currentMonth = currentDate.getMonth() + 1; 

dann ist currentMonth eine Nummer, die Sie formatieren, wie Sie wollen, diese Frage sehen, die helfen Sie mit Formatierung: How can I format an integer to a specific length in javascript?

0

für das Datum:

("0" + this.getDate()).slice(-2) 

und ähnliche für den Monat:

("0" + (this.getMonth() + 1)).slice(-2) 
3

Eine Linie Lösung:

var currentMonth = (currentDate.getMonth() < 10 ? '0' : '') + currentDate.getMonth(); 
0
var CurrentDate = new Date(); 
    CurrentDate.setMonth(CurrentDate.getMonth()); 

    var day = CurrentDate.getDate(); 
    var monthIndex = CurrentDate.getMonth()+1; 
    if(monthIndex<10){ 
     monthIndex=('0'+monthIndex); 
    } 
    var year = CurrentDate.getFullYear(); 

    alert(monthIndex); 
0

ES6 Version von @ gert-Grenander

inpired
let date = new Date(); 
let month = date.getMonth() +1; 
month = (`0${month}`).slice(-2); 
Verwandte Themen