Добавить год к сегодняшней дате
Я пытаюсь добавить год к сегодняшней дате. Я работаю в системе, которая не позволяет использовать standard
JavaScript.
Например, чтобы получить сегодняшнюю дату, я должен использовать:
javascript:now();
Я пробовал:
javascript:now(+1);
Я никогда раньше этого не видел, но мне нужно добавить один год к сегодняшней дате...
Кто-нибудь видел получение текущей даты раньше? И если да, как я могу добавить год?
Ответы
Ответ 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);
}
}