2011-08-11 60 views
11

我有一個jQuery腳本,它將當前日期返回到文本框中。然而,當只顯示一個數字的月份(例如8)時,我希望它在它之前放置一個0(例如08),如果它有兩個數字(例如11),則不要在它之前放置0。在jQuery日期中添加0到幾個月

我該怎麼做?我希望你能理解我的問題。這裏是我的jQuery代碼:

var myDate = new Date(); 
var prettyDate =myDate.getDate() + '' + (myDate.getMonth()+1) + '' + myDate.getFullYear(); 
$("#date").val(prettyDate); 

回答

2

我不喜歡那麼多的字符串連接:

var month = myDate.getMonth()+1, 
    prettyData = [ 
     myDate.getDate(), 
     (month < 10 ? '0' + month : month), 
     myDate.getFullYear() 
    ].join(''); 
0
var myDate = new Date(); 
var newMonth = myDate.getMonth()+1; 
var prettyDate =myDate.getDate() + '' + (newMonth < 9 ? "0"+newMonth:newMonth) + '' +   myDate.getFullYear(); 
$("#date").val(prettyDate); 
+0

你相反地在三元運算符中獲得了值;) –

+0

糟糕,按了錯誤的符號鍵,謝謝你的注意。 – Griffin

1

您可以使用類似:

function addZ(n) { 
    return (n < 10? '0' : '') + n; 
} 
0
(myDate.getMonth() + 1).toString().replace(/(^.$)/,"0$1") 

我愛正則表達式:)