这是我在解决“开始使用Javascript”时遇到的问题。任务是显示从现在起12个月的日期。

这似乎可行:

var dateNow = new Date ();
var currentMonth = dateNow.getMonth();
dateNow.setMonth(currentMonth + 12);
var dateNext = dateNow;
document.write(dateNext.toDateString())


虽然这不是:

var dateNow = new Date ();
var currentMonth = dateNow.getMonth();
var dateNext = dateNow.setMonth(currentMonth + 12);
document.write(dateNext.toDateString())


为什么我不能初始化dateNext变量?

抱歉,如果这似乎是一个基本问题,我已经上了一周。

最佳答案

这就是setMonth的工作方式。它不返回日期,而是返回时间戳-Epoch-自1970年1月1日00:00:00 UTC以来经过的毫秒数。

您可以改为执行此操作,但它将更改dateNow



var dateNow = new Date ();
var currentMonth = dateNow.getMonth();
var dateNext = new Date(dateNow.setMonth(currentMonth + 12));
document.write(dateNext.toDateString());





这可能是您想要的



var dateNow = new Date (); // optional
var dateNext = new Date();
dateNext.setMonth(dateNext.getMonth() + 12);
document.write(dateNext.toDateString());

10-05 22:24