Подтвердить что ты не робот

Добавить год к сегодняшней дате

Я пытаюсь добавить год к сегодняшней дате. Я работаю в системе, которая не позволяет использовать standard JavaScript.

Например, чтобы получить сегодняшнюю дату, я должен использовать:

javascript:now();

Я пробовал:

javascript:now(+1);

Я никогда раньше этого не видел, но мне нужно добавить один год к сегодняшней дате...

Кто-нибудь видел получение текущей даты раньше? И если да, как я могу добавить год?

4b9b3361

Ответ 1

Вы можете создать новый объект даты с сегодняшней датой, используя следующий код:

var d = new Date();
console.log(d);
// => Sun Oct 11 2015 14:46:51 GMT-0700 (PDT)

Если вы хотите создать дату в определенное время, вы можете передать новые аргументы конструктора Date

var d = new Date(2014);
console.log(d)
// => Wed Dec 31 1969 16:00:02 GMT-0800 (PST)

Если вы хотите принять сегодняшнюю дату и добавить год, вы можете сначала создать объект даты, получить доступ к соответствующим свойствам, а затем использовать их для создания нового объекта даты

var d = new Date();
var year = d.getFullYear();
var month = d.getMonth();
var day = d.getDate();
var c = new Date(year + 1, month, day)
// => Tue Oct 11 2016 00:00:00 GMT-0700 (PDT)

Подробнее о методах объекта даты на MDN вы можете узнать

Объект даты

Ответ 2

Используйте метод Date.prototype.setFullYear, чтобы установить год так, как вы хотите.

Например:

var aYearFromNow = new Date();
aYearFromNow.setFullYear(aYearFromNow.getFullYear() + 1);

В действительности нет другого способа работы с датами в JavaScript, если эти методы отсутствуют в среде, с которой вы работаете.

Ответ 3

Один лайнер, как предложено здесь

Как определить год спустя в Javascript JP DeVries

new Date(new Date().setFullYear(new Date().getFullYear() + 1))

Или вы можете узнать количество лет в переменной:

const nr_years = 3;
new Date(new Date().setFullYear(new Date().getFullYear() + nr_years))

Ответ 4

Этот код добавляет количество лет, необходимое для даты.

var d = new Date();
// => Tue Oct 01 2017 00:00:00 GMT-0700 (PDT)

var amountOfYearsRequired = 2;
d.setFullYear(d.getFullYear() + amountOfYearsRequired);
// => Tue Oct 01 2019 00:00:00 GMT-0700 (PDT)

Ответ 5

Ответы здесь вообще работают, но я написал компонент который добавляет некоторые функции високосного года. Он также работает с другими единицами времени (месяцы, дни, недели и т.д.).

Обычный пример:

var originalDate = new Date('January 5, 2017 12:00:00');
var newDate = dateAdd(originalDate, 1, 'year'); // => January 5, 2018 12:00:00

Пример високосного года:

var originalDate = new Date('February 29, 2016 12:00:00');
var newDate = dateAdd(originalDate, 1, 'year'); // => February 28, 2017 12:00:00

С другими методами добавление года вернется 1 марта, но это кажется мне более полезным, так как он поддерживает правильный месяц.

Вы можете импортировать компонент для использования метода dateAdd().

Ответ 6

В Angular это способ расчета даты.

today = new Date();
year = this.today.getFullYear();
month = this.today.getMonth();
day = this.today.getDate();
//To go 18 years back
yearsBack18= new Date(this.year - 18, this.month, this.day);

//To go to same day next year
nextYear= new Date(this.year + 1, this.month, this.day);

Ответ 7

    var d = new Date();
    var year = d.getFullYear();
    var month = d.getMonth();
    var day = d.getDate();

    var fulldate = new Date(year + 1, month, day);

    var toDate = fulldate.toISOString().slice(0, 10);

    $("#txtToDate").val(toDate);

    output : 2020-01-02

Ответ 8

var yearsToAdd = 5;
var current = new Date().toISOString().split('T')[0];
var addedYears = Number(this.minDate.split('-')[0]) + yearsToAdd + '-12-31';

Ответ 9

В случае, если вы хотите добавить годы к определенной дате, кроме сегодняшней даты, используя либо годы, либо месяцы, либо дни. Вы можете сделать следующее

var christmas2000 = new Date(2000, 12, 25); 
christmas2000.setFullYear(christmas2000.getFullYear() + 5); // using year: next 5 years
christmas2000.setFullYear(christmas2000.getMonth() + 24); // using months: next 24 months
christmas2000.setFullYear(christmas2000.getDay() + 365); // using days: next 365 months

Ответ 10

Функция

var date = new Date();

var year = date.getFullYear();

var month = date.getMonth();

month = month + 1;

if (month < 10) {
    month = "0" + month;
} 

var day = date.getDate();

if (day < 10) {
    day = "0" + day;
} 

year = year + 1;

var FullDate =  year + '/' + month + '/' + day; 

Ответ 11

//Этот фрагмент кода также будет обрабатывать добавление високосного года.

function updateExpiryDate(controlID, value) {
    if ( $("#ICMEffectiveDate").val() != '' &&
        $("#ICMTermYears").val() != '') {

        var effectiveDate = $("#ICMEffectiveDate").val();
        var date = new Date(effectiveDate);
        var termYears = $("#ICMTermYears").val();

        date = new Date(date.setYear(date.getFullYear() + parseInt(termYears)));
        var expiryDate = (date.getMonth() + 1) + '/' + date.getDate() + '/' + date.getFullYear();
        $('#ICMExpiryDate').val(expiryDate);
    }
}