javascript - 为什么我不能将调用日期对象方法的结果存储在变量中

标签 javascript date object methods initialization

这是我在《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/

相关文章:

javascript - 为什么 preventDefault on checkbox click 事件为 checked 属性返回 true?

javascript - React Router - 嵌套组件不会渲染

c# - 如何将 byte[] 反序列化为要在方法调用时转换的通用对象

javascript - 如何在 Play 2.3.1 模板中启用缩小的 JavaScript 文件?

javascript - 实现联盟系统最简单的方法是什么?

java - 如何使用jsp插入DATE

javascript - 当我尝试使用解析来定义时间格式时,日期数据为空

php - 见过的功能,就像这里一样

PHP:对象的最后一个键

java - 是否有一种方法可以创建名称等于变量当前状态的对象