Javacript - 为什么向Date对象添加一个月会返回一个奇怪的数字?
以下内容返回11,这是正确的。Javacript - 为什么向Date对象添加一个月会返回一个奇怪的数字?
var month = d.getMonth(); alert(month);
当我尝试添加一个月返回非常不同的东西
var month = d.setMonth(d.getMonth() + 1); alert(month);
它返回:是,你是用你的代码的方法1513230546878个
回答:
返回值如下
d.getMonth()
- 从0到11代表月份的数字(Link)d.setMonth()
- 一个数字,代表1970年(Link年1月1日起对象和午夜之间的毫秒数)
请注意,d.setMonth()
将修改您的Date
对象到位。所以,如果你想按照预期的代码工作,你可以写如下
var d = new Date() var month = d.getMonth();
alert(month);
d.setMonth(d.getMonth() + 1);
alert(d.getMonth());
回答:
d.setMonth()
方法返回更新的时间戳值(见docs)。这就是为什么你有一个很长的数字。
如果你想获得本月你将使用按以下
var d = new Date("2017-10-03"); d.setMonth(d.getMonth() + 1);
var month = d.getMonth(); // get new month
alert(month);
希望它有助于
回答:
在Java脚本,如果你这样写:
var month = d.setMonth(d.getMonth() + 1);
你得到时间戳。含义,表示您选择的月份的整数。
这是因为,的setDate接受dayValue参数:
Date.setDate(dayValue)
意思是说:
var dt = new Date("Aug 28, 2008 23:30:00"); dt.setDate(24);
console.log(dt);
将导致:
Sun Aug 24 2008 23:30:00 //+ your standard gmt time
如需进一步咨询,请参阅本Link
回答:
//set date to now: var d = new Date();
console.log(d);
//just checking
var month = d.getMonth();
console.log(month);
//add a month
d.setMonth(d.getMonth() + 1);
//now the month is one ahead:
console.log(d.getMonth());
console.log(d);
以上是 Javacript - 为什么向Date对象添加一个月会返回一个奇怪的数字? 的全部内容, 来源链接: utcz.com/qa/259662.html