2010-05-20 20 views

回答

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

謝謝!我原本有'if(currentMonth <9){currentMonth =「0」+ currentMonth; }'並沒有工作。猜猜我需要單引號而不是雙引號。 – 2010-05-20 22:07:47

+0

奇怪..報價類型不重要!也許類型強制和'+'經營者的神器.. – Matt 2010-05-20 22:09:14

+1

你想'<10'其他9不會返回「09」 – 2010-05-20 22:09:17

47

的另一種方法:

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

+1因爲我複製了你的部分答案。 – eyelidlessness 2010-05-20 22:29:48

+1

+1爲優雅 – 2010-05-21 06:24:00

+0

謝謝你們! :) – 2010-05-21 13:34:38

0

爲了接受的答案始終如一地返回一個字符串,它應該是:

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

或者:

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

只是爲了funsies,這裏是沒有條件的一個版本:

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

編輯:切換到slice,每格特G公司的回答,信貸,信貸是由於; substr工作過,我不知道它接受一個負start參數

0

的日期:

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

和類似月:

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

一號線的解決方案:

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版本 inpired通過@格特 - grenander

let date = new Date(); 
let month = date.getMonth() +1; 
month = (`0${month}`).slice(-2); 
相關問題