所以我不知道我是否做了一些极其错误和愚蠢的事情,但这就是我的问题。基本上我想了解当月第一天的工作日值。为此,我创建了一个 Date 对象,其中包含当前年份和月份,但日期为 1。但这里有一个有趣的情况
var x = new Date()
console.log(x.getYear())
这会将 115 打印到控制台。我想这就是他们决定代表 2000 年代的方式。所以如果我这样做
var x = new Date();
var thismonth = new Date( x.getYear(), x.getMonth(), 1)
console.log(thismonth.getDay())
本应该打印 0 的时候却打印出了 5。因为 2 月 1 日是星期日。另一方面 var x = 新日期(2015, 1 ,1 ) console.log(x.getDay()) 打印出 0。所以 JS 代表 2015, 115 但无法处理它自己的表示?
这是由我的浏览器问题引起的还是一般情况>
谢谢
最佳答案
您应该使用getFullYear()
而不是getYear()
。这将返回您所期望的内容。
查看 API 以获取有关每种方法实际用途的更多信息。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
注意,getYear()
的描述是:“根据本地时间返回指定日期的年份(通常为2-3位数字)。改用getFullYear()。”(添加强调)
关于javascript - new Date() 对象 JS 的年份表示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28305583/