javascript - new Date() 对象 JS 的年份表示错误

标签 javascript

所以我不知道我是否做了一些极其错误和愚蠢的事情,但这就是我的问题。基本上我想了解当月第一天的工作日值。为此,我创建了一个 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/

相关文章:

javascript - 如何检查您是否确实从汇总中获得了结果

Javascript mouseover运行函数,然后等待并再次运行

javascript - 在不明确询问用户的情况下收集用户时区的最佳方法是什么?

javascript - 我无法使用滑动切换

javascript - 在不丢失原始堆栈的情况下覆盖 console.log 方法 - javascript

javascript - 本地 HTML 文件与(读/写)本地 .xlsm Excel 文件通信的最佳方式

javascript - 如何从两个地方使用 IndexedDB

javascript - 尽管链中遭到拒绝,链式 promise 仍在继续执行

javascript - 在 X 和 XX 之间在 JS 中应用循环

javascript - AngularJS 类型错误