Я использую следующую функцию, чтобы добавить количество дней к дате ввода даты (формат: yyyy-mm-dd).
Это отлично работает, но при необходимости не добавляет начальные нули, например, возвращает 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() );
}
Большое спасибо заранее за любую помощь в этом, Тим
Включает ли 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");
Для любого форматирования даты я всегда использую 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'));