Узнать дату предыдущего года с текущей даты в JavaScript

Мне нужно узнать дату предыдущего года с текущей даты, а затем установить в качестве minDate в jQuery UIdatepicker в javascript

Моя дата formaqt этоdd-mm-yy

Т.е.

current date is 25-07-2012 I need to get 25-07-2011
 epascarello25 июл. 2012 г., 15:01
А что если это високосный год, а вы в високосный день?

Ответы на вопрос(8)

var date = CALC.today(); //(function in my dev-enviro - gives today's date)
var year = formatDate(date, 'yyyy'); //year is 2016
year = parseInt(year);               //make sure '2016' becomes an integer
year = year -1;                      // var year is now: 2015.

//its been a while, but that's what I did from memory.

Для строк:

curdate.substr(0, 6)+(curdate.substr(6)-1);

Если вы используетеDate object, вы можете легко вычесть год сset[Full]Year метод.

  function getTodayDate() {
        var today = new Date();
        var dd = today.getDate();
        var mm = today.getMonth() + 1; //January is not 0!
        var yyyy = today.getFullYear();
        if (dd < 10) { dd = '0' + dd }
        if (mm < 10) { mm = '0' + mm }
        today = yyyy + '-' + mm + '-' + dd;
        return today;
    };
    function getYearAgo(){
    var lastYear = new Date();
    var dd = lastYear.getDate();
    var mm = lastYear.getMonth() + 1; //January is not 0!
    var yyyy = lastYear.getFullYear(getTodayDate) - 1;
    if (dd < 10) { dd = '0' + dd }
    if (mm < 10) { mm = '0' + mm }
    lastYear = yyyy + '-' + mm + '-' + dd;     
    return lastYear;
    }

Вам нужно использоватьgetFullYear()

а затем создать новую дату

var d = new Date(2012, 7, 25);
d.setFullYear(d.getFullYear() - 1);
 25 июл. 2012 г., 14:52
jan = 0, поэтому jul = 6 по какой-то нелепой причине с js-месяцами
 25 июл. 2012 г., 14:32
Для получения дополнительной информации обратитесь кdeveloper.mozilla.org/en/JavaScript/Reference/Global_Objects/…
 25 июл. 2012 г., 14:45
Спасибо @AlexK., Дата в примере - июль (7) ..
 25 июл. 2012 г., 14:40
+1 (месяц должен быть 6, чтобы соответствовать примеру)
var today = new Date();
var curyear = today.getFullYear();
var curyearMonth = today.getMonth() + 1;
var curyearDay = today.getDate();
var lastYear = curyear - 1;
if ((curyearMonth == 2) && (curyearDay == 29)) {
    curyearDay = 28;
}

var lastYearDisplay = ("0000" + lastYear.toString()).slice(-4) + "-" + ("00" + curyearMonth.toString()).slice(-2) + "-" + ("00" + curyearDay.toString()).slice(-2);
alert("LastWeekDate : " + lastYearDisplay);

 var date = new Date();
 var intYear = date.getFullYear() - 1;

Попробуй это

var d = new Date();
var pastYear = d.getFullYear() - 1;
d.setFullYear(pastYear);
console.log(d);

Datepicker позволяет поставить число в качествеminDate вариант, и он использует это как смещение от текущей даты. Таким образом, вы можете написать:

minDate: -365

указать 1 год назад. Это, однако, не учитывает високосных лет.

Ваш ответ на вопрос