2011-12-07 52 views
2

我有一個問題將日期信息傳遞到另一個站點,因爲即使在該月的前九天仍需要兩位數的日期。我已經有90%的方式使用SO頁面中的代碼set select list to current date using Jquery。這使得1-31和1-12的月份和日期發生變化。我需要輸出從01-31和01-12。將選擇列表設置爲當前日期,並在前一個零的第二天設置選擇列表

現狀:

function ragequit() { 
    var today = new Date(); 
    var daym = today.getDate(); 
    var monthm = today.getMonth(); 
    $('#StartMonth option[value=' + (monthm) + ']').prop('selected',true); 
    $('#StartDay option[value=' + (daym) + ']').prop('selected',true); 
    $('#EndMonth option[value=' + (monthm+1) + ']').prop('selected',true); 
    $('#EndDay option[value=' + (daym+1) + ']').prop('selected',true); 
} 

它調用月份完美,因爲這是12月合約。還必須將m添加到每個值,以便它不會與另一個工具競爭開始日期更改時增加日期。

簡而言之,我有12 7 2011 - 我需要12 07 2011

+0

歡迎堆棧溢出;請花些時間閱讀[faq](http://stackoverflow.com/faq)。如果某人的回答已回答您的問題,請不要忘記點擊其[答案]旁邊的複選標記(http://meta.stackexchange.com/a/5235/171243)。 –

回答

0

你需要做的是墊的功能與領先的零的字符串,像這樣:

function pad(num, size) { 
    var s = num+""; 
    while (s.length < size) s = "0" + s; 
    return s; 
} 

然後你可以用它來前導零添加到您的日期:在

function ragequit() { 
    var today = new Date(); 
    var daym = today.getDate(); 
    var monthm = today.getMonth(); 
    $('#StartMonth option[value=' + pad(monthm,2) + ']').prop('selected',true); 
    $('#StartDay option[value=' + pad(daym,2) + ']').prop('selected',true); 
    $('#EndMonth option[value=' + pad(monthm+1,2) + ']').prop('selected',true); 
    $('#EndDay option[value=' + pad(daym+1,2) + ']').prop('selected',true); 
} 
+0

這工作完美。 – kurtismccartney

+0

很高興幫助。你能把它標記爲接受的答案嗎? –

0

我javascript工具庫,我有一個字符串的左右填充函數,我從某處獲得並隨時使用它們。 有了這個...
String.prototype.lPad = function (n,c) {var i; var a = this.split(''); for (i = 0; i < n - this.length; i++) {a.unshift (c)}; return a.join('')}

String.prototype.rPad = function (n,c) {var i; var a = this.split(''); for (i = 0; i < n - this.length; i++) {a.push (c)}; return a.join('')}

你現在可以做這樣的事情alert ('8'.lPad(6,'0'))
或者在你的情況......
var monthm = today.getMonth().lPad(2,'0');(可能需要轉換)

相關問題