Add A Year To Today's Date

我想把今天的日期加上一年。我工作的系统不允许你使用 standard JavaScript。

For instance, to get todays date I have to use:

javascript:now();

我试过了:

javascript:now(+1);

I have never seen this before, but am in need of adding one year to todays date...

以前有人见过这样得到当前日期吗? 如果有,我怎么能加上一年?

224304 次浏览

您可以使用以下代码创建一个带有当前日期的新日期对象:

var d = new Date();
console.log(d);
太平洋夏令时2015年10月11日星期日14:46:51

如果要创建特定时间的日期,可以传递新的 Date 构造函数参数

 var d = new Date(2014);
console.log(d)

// => Wed Dec 31 1969 16:00:02 GMT-0800 (PST)

如果希望使用 today date 并添加 year,则可以首先创建 date 对象,访问相关属性,然后使用它们创建新的 date 对象

var d = new Date();
var year = d.getFullYear();
var month = d.getMonth();
var day = d.getDate();
var c = new Date(year + 1, month, day);
console.log(c);

// => Tue Oct 11 2016 00:00:00 GMT-0700 (PDT)

您可以在 MDN 上阅读有关 date 对象的方法的更多信息

日期对象

使用 Date,Prototype.setFullYear方法将年份设置为您希望的样子。

例如:

const aYearFromNow = new Date();
aYearFromNow.setFullYear(aYearFromNow.getFullYear() + 1);
console.log(aYearFromNow);

如果这些方法不存在于您正在使用的环境中,那么在 JavaScript 中实际上没有其他处理日期的方法。

//这段代码也将处理闰年的添加。

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);
}
}

This code adds the amount of years required for a date.

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)

在角度,这是如何计算日期

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);
    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

就像这里建议的那样

如何在 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))
var yearsToAdd = 5;
var current = new Date().toISOString().split('T')[0];
var addedYears = Number(this.minDate.split('-')[0]) + yearsToAdd + '-12-31';

I like to keep it in a single line, you can use a self calling function for this eg:

如果你想在一行中得到 + 1年的 时间戳

console.log(
(d => d.setFullYear(d.getFullYear() + 1))(new Date)
)

如果你想得到单行 日期对象

console.log(
(d => new Date(d.getFullYear() + 1, d.getMonth(), d.getDate()))(new Date)
)