我正在尝试为今天的日期添加一年。我在一个不允许您使用standard
JavaScript的系统中工作。
例如,要获得今天的日期,我必须使用:
javascript:now();
我努力了:
javascript:now(+1);
我以前从未见过这个,但我需要在今天的日期上增加一年......
有没有人以前见过这种方式获取当前日期?如果是这样,我怎么能增加一年?
我正在尝试为今天的日期添加一年。我在一个不允许您使用standard
JavaScript的系统中工作。
例如,要获得今天的日期,我必须使用:
javascript:now();
我努力了:
javascript:now(+1);
我以前从未见过这个,但我需要在今天的日期上增加一年......
有没有人以前见过这种方式获取当前日期?如果是这样,我怎么能增加一年?
您可以使用以下代码创建具有今天日期的新日期对象:
var d = new Date();
console.log(d);
如果要在特定时间创建日期,可以传递新的 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);
console.log(c);
// => Tue Oct 11 2016 00:00:00 GMT-0700 (PDT)
您可以在 MDN 上阅读有关日期对象的方法的更多信息
使用Date.prototype.setFullYear方法将年份设置为您想要的年份。
例如:
const aYearFromNow = new Date();
aYearFromNow.setFullYear(aYearFromNow.getFullYear() + 1);
console.log(aYearFromNow);
如果在您使用的环境中不存在这些方法,那么在 JavaScript 中确实没有其他方法可以处理日期。
此处建议的一个班轮
JP DeVries如何在 Javascript 中确定从现在开始的一年
new Date(new Date().setFullYear(new Date().getFullYear() + 1))
或者您可以从变量中的某处获取年数:
const nr_years = 3;
new Date(new Date().setFullYear(new Date().getFullYear() + nr_years))
此代码添加日期所需的年数。
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)
我喜欢将它保留在一行中,您可以为此使用自调用函数,例如:
如果您想在一行中获取+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)
)