JS 使用 getYear() 获取当前年份前面返回结果前面会多个 1

2022-06-08 13:03:17 +08:00
 CheckTime

如题, 在浏览器中使用 Date 对象的 getYear() 函数获取当前年份,在返回结果前面会多个 1,使用 getFullYear() 正常

例如:2022 年会返回 122 ,正确结果应该是 22

969 次点击
所在节点    程序员
7 条回复
ysc3839
2022-06-08 13:05:33 +08:00
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getYear

Return value
A number representing the year of the given date, according to local time, minus 1900.

2022-1900=122
liuxey
2022-06-08 13:06:15 +08:00
CheckTime
2022-06-08 13:08:07 +08:00
@ysc3839
@liuxey 感谢
Kei001
2022-06-08 13:09:42 +08:00
历史原因,返回值是相对于 1900 年来说的,对于 1900-1999 年会返回 2 位数,2000 年后就是 3 位数了。现在不推荐使用 getYear(),用 getFullYear() 就好。
mikewang
2022-06-08 13:12:19 +08:00
getYear() 其实是 getFullYear() - 1900 。
本身就是这么定义的( 18xx 年返回负数),也不算是错误
CheckTime
2022-06-08 13:13:05 +08:00
@Kei001 感谢回复,已经改用 getFullYear()。最开始百度没有找到,刚刚加上 getYear 百度仔细看了一下,这个问题问得有点蠢。耽误大家时间了
wangtian2020
2022-06-08 13:15:06 +08:00
https://dayjs.gitee.io/docs/zh-CN/installation/installation
该用 dayjs 了
用原生对象就多吃透 MDN 标准文档

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/858153

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX