小编典典

如何在Javascript中确定一年后

all

我试图从现在的日期开始一年,但它不起作用。

JS:

var now = new Date();

var oneYr = new Date();
oneYr.setYear(now.getYear() + 1);
$("#yearFromNow").append(oneYr.toString());

var oneMonth = new Date();
oneMonth.setMonth(now.getMonth() + 1);
$("#monthFromNow").append(oneMonth.toString());

输出:

one mo. = Thu Dec 22 112 15:16:01 GMT-0500 (Eastern Standard Time)

one yr. = Sun Jan 22 2012 15:16:01 GMT-0500 (Eastern Standard Time)

这一年有Dec 22 112- ?? 月份显示正确Jan 22 2012

如果你想修改它,http://jsbin.com/alezaj/edit#javascript,html,live。这是在
Chrome 和 Firefox 中。

谢谢!


阅读 80

收藏
2022-08-27

共1个答案

小编典典

您应该使用getFullYear()而不是getYear(). getYear()返回实际年份减去 1900(因此相当无用)。

因此,从现在开始正好一年的日期将是:

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

请注意,如果您在 2 月 29 日这样做,日期将会调整。

getMonth()同样,您可以通过和获得一个月后的日期setMonth()。12月做就不用担心从当年“滚”到下一年;日期会自动调整。通过getDate()和的日期也是如此setDate()

2022-08-27