2013-11-28 79 views
0

我正在使用以下函數爲給定日期輸入添加若干天(格式:yyyy-mm-dd)。JavaScript/jQuery:格式化日期計算結果的最佳方法

這工作正常,但不會在需要時添加前導零,例如,它會返回2013-11-1,而不是2013-11-01,這是我需要的。

什麼是最好/最短的方式來格式化輸出爲yyyy-mm-dd - jQuery也可以工作?

function calcTargetDate() 
{ 
    var timeFrame = 7; 
    var targetDate = new Date(document.getElementById('date1').value); 

    targetDate.setDate(targetDate.getDate() + parseInt(timeFrame)); 
    document.getElementById('date2').value = (targetDate.getFullYear() + '-' + (targetDate.getMonth() + 1) + '-' + targetDate.getDate()); 
} 

提前爲任何幫助,非常感謝,蒂姆

+0

jQuery是一個DOM操作庫。這裏沒用。 – JJJ

+0

謝謝,Babblo--這正是我需要的。 – user2571510

回答

1

是包括LIB的選項? moment.js可以爲你輕鬆的東西像這樣做:

var targetDate = moment(document.getElementById('date1').value); 
targetDate.add('days', timeFrame); //or whatever unit your timeframe value is if not days 
document.getElementById('date2').value = targetDate.format("YYYY-MM-DD"); 
+0

我看了看,決定使用它。這真的很棒 - 非常感謝! – user2571510

1

對於任何日期格式我總是用moment.js

var myDate = new Date(2013, 10, 1); // remember month zero-indexed in javascript 
console.log(myDate); 
console.log(moment(myDate).format('YYYY-MM-D')); 
+0

這也很棒 - 非常感謝。 – user2571510

相關問題