这是我在解决“开始使用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());