这是我在《Beginning 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());
关于javascript - 为什么我不能将调用日期对象方法的结果存储在变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34693271/