V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
CheckTime
V2EX  ›  程序员

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

  •  
  •   CheckTime · 2022-06-08 13:03:17 +08:00 · 1146 次点击
    这是一个创建于 905 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    ysc3839
        1
    ysc3839  
       2022-06-08 13:05:33 +08:00 via Android
    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
    CheckTime
        3
    CheckTime  
    OP
       2022-06-08 13:08:07 +08:00
    @ysc3839
    @liuxey 感谢
    Kei001
        4
    Kei001  
       2022-06-08 13:09:42 +08:00
    历史原因,返回值是相对于 1900 年来说的,对于 1900-1999 年会返回 2 位数,2000 年后就是 3 位数了。现在不推荐使用 getYear(),用 getFullYear() 就好。
    mikewang
        5
    mikewang  
       2022-06-08 13:12:19 +08:00
    getYear() 其实是 getFullYear() - 1900 。
    本身就是这么定义的( 18xx 年返回负数),也不算是错误
    CheckTime
        6
    CheckTime  
    OP
       2022-06-08 13:13:05 +08:00
    @Kei001 感谢回复,已经改用 getFullYear()。最开始百度没有找到,刚刚加上 getYear 百度仔细看了一下,这个问题问得有点蠢。耽误大家时间了
    wangtian2020
        7
    wangtian2020  
       2022-06-08 13:15:06 +08:00
    https://dayjs.gitee.io/docs/zh-CN/installation/installation
    该用 dayjs 了
    用原生对象就多吃透 MDN 标准文档
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2585 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 04:29 · PVG 12:29 · LAX 20:29 · JFK 23:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.