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

年经贴: YYYY-MM-dd 你改了吗?

  •  1
     
  •   crazychang · 139 天前 · 5533 次点击
    这是一个创建于 139 天前的主题,其中的信息可能已经有所发展或是发生改变。

    y:year-of-era ;正正经经的年,即元旦过后; Y:week-based-year ;只要本周跨年,那么这周就算入下一年;就比如说今年(2021-2022) 12.31 这一周是跨年的一周,而 12.31 是周五,那使用 YYYY 的话会显示 2022 ,使用 yyyy 则会从 1.1 才开始算是 2022 。

    50 条回复    2021-12-31 16:20:41 +08:00
    huntagain2008
        1
    huntagain2008  
       139 天前
    本人小白。哦,标准写法是用 yyyy 还是 YYYY?
    wudaye
        2
    wudaye  
       139 天前
    没踩过这个坑,因为从来都是用小 y
    sadfQED2
        3
    sadfQED2  
       139 天前 via Android   ❤️ 21
    12 月 31 日的我:感谢反馈,这个 bug 正在修复中
    1 月 1 日的我:昨天那个 bug 已经修复上线了
    66beta
        4
    66beta  
       139 天前
    没用过大 Y ,涨知识了
    starsky007
        5
    starsky007  
       139 天前
    没头没脑,也要看语言、库吧。
    mineralsalt
        6
    mineralsalt  
       139 天前
    @huntagain2008 yyyy, 各种库, 各种教程基本上都是 yyyy, 从来没见过 YYYY 这种写法, 虽然我今天也是涨知识了
    Kimen
        7
    Kimen  
       139 天前
    是的,也要看语言和库,dayjs 里面的 YYYY 就是没问题的
    sagaxu
        8
    sagaxu  
       139 天前 via Android
    Java 还有 uuuu
    MuSeCanYang
        9
    MuSeCanYang  
       139 天前
    啥语言啊,SQL 我看是正常的
    banliyaya
        10
    banliyaya  
       139 天前
    @mineralsalt 就我前端来说 dayjs 和 momentjs 都是 YYYY ,没有 yyyy 这个写法。
    BiChengfei
        11
    BiChengfei  
       139 天前
    Y:周年( Year )
    y:日历年( Week year )
    jdk api 中的 java.text.SimpleDateFormat 的描述中有

    学 java 的时候有看到过
    BiChengfei
        12
    BiChengfei  
       139 天前
    英文写反了
    Robertwhite
        13
    Robertwhite  
       139 天前
    我用的是 momentjs ,YYYY ,我明天要看一下,到底有没有 bug
    ongongethan
        14
    ongongethan  
       139 天前 via iPhone
    20060102 表示没有这个问题 doge
    FANGYK
        15
    FANGYK  
       139 天前
    公司老项目有幸体验到此 BUG ,Jackson 配的大 Y
    daliusu
        16
    daliusu  
       139 天前
    hahastudio
        17
    hahastudio  
       139 天前
    /t/740615
    /t/633650
    提前年经了
    crimeshaper
        18
    crimeshaper  
       139 天前
    golang 表示没这个问题,都是 1,2,3,4,5,6 标志
    zwgf
        19
    zwgf  
       139 天前
    @crimeshaper 别说 go 真的是最有意思的 2006 年 1 月 2 日 15 点 4 分 5 秒,PHP 直接 Ymd
    zwgf
        20
    zwgf  
       139 天前
    @zwgf PHP 的 Ymd 雅蠛蝶 都不需要写四个 YYYY
    SolidZORO
        21
    SolidZORO  
       139 天前 via iPhone
    @zwgf hhh 老哥把我给整笑了,原来 PHP 还有这一出啊……
    lithiumii
        22
    lithiumii  
       139 天前
    犹记得刚入行时公司遇到这个 bug ,同事们一头雾水的时候我因为摸鱼的时候看到了所以成功确认了问题
    whileFalse
        23
    whileFalse  
       139 天前 via iPhone   ❤️ 4
    老外就 tm 喜欢研究这些没有用的东西。
    EscYezi
        24
    EscYezi  
       139 天前 via iPhone
    idea 写 YYYY 会提示改成 yyyy 的,错过一次就不会错第二次了
    0312birdzhang
        25
    0312birdzhang  
       139 天前 via iPhone
    @SolidZORO on php topic 了(滑稽
    zoffy
        26
    zoffy  
       139 天前
    涨知识了
    zoffy
        27
    zoffy  
       139 天前
    前端好像没用这样的约定,至少 moment.js 没有
    yaphets666
        28
    yaphets666  
       139 天前
    前端的不用担心。。。因为 YYYY 只是告诉格式化工具这里是年的占位符
    yangzzzzzz
        29
    yangzzzzzz  
       139 天前   ❤️ 1
    没事 元旦客户不上班
    Removable
        30
    Removable  
       139 天前
    C#的日期格式化好像不支持大写的 Y
    bojackhorseman
        31
    bojackhorseman  
       139 天前
    确实,用`dayjs`或`moment.js`等前端时间库没有这个问题
    demo
        32
    demo  
       139 天前
    每年都会遇到这个坑,可能是标准不统一吧,目前接手的项目代码就是这种现状,比如 Day.js 是 YYYY ( https://dayjs.gitee.io/docs/zh-CN/parse/string-format),Element-UI 是 yyyy ( https://element.eleme.cn/2.15/#/zh-CN/component/date-picker#ri-qi-ge-shi)
    dcsuibian
        33
    dcsuibian  
       138 天前
    Java 试了下( jshell 复制以下内容),确实如此

    ```
    import java.text.SimpleDateFormat;
    Date date = new Date();
    new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
    new SimpleDateFormat("YYYY-MM-dd HH:mm:ss").format(date);
    ```

    结果:

    ```
    $7 ==> "2021-12-31 10:55:50"
    $8 ==> "2022-12-31 10:55:50"
    ```

    每次看到这种帖子,都想吐槽下那些不用时间戳传递和记录时间的,出问题的机会少太多了
    HackerJax
        34
    HackerJax  
       138 天前 via iPhone
    所以我说 PHP 是最好的语言这回大家都相信了吧?
    lower
        35
    lower  
       138 天前
    前端时间库好像是国人搞的
    fdgdbr
        36
    fdgdbr  
       138 天前
    前两天刚刚出的 bugi😂
    jsjjdzg
        37
    jsjjdzg  
       138 天前
    时间戳战法无敌
    marcong95
        38
    marcong95  
       138 天前
    Dayjs 用户无所畏惧,非要用 Week of Year 的时候还要加载插件
    morty0
        39
    morty0  
       138 天前
    2006-01-02 没有这个问题
    xqk111
        40
    xqk111  
       138 天前
    momentjs ,试了一下,没事啊
    wktrf
        41
    wktrf  
       138 天前
    又不是所有语言的都是这种表达形式,没有意义,目前我就知道 Java 有这个坑
    mekingname
        42
    mekingname  
       138 天前
    From313
        43
    From313  
       138 天前
    巧了刚改完这个
    Robertwhite
        44
    Robertwhite  
       138 天前
    @Robertwhite #13 ,刚测了,前端 momentjs ,YYYY ,没有问题
    masterclock
        45
    masterclock  
       138 天前
    感觉老外我和我们对时间概念的理解很不一样
    YYYY 究竟在上面情况下有用?
    夏令时?
    09/09/09 这样的究竟怎么理解?
    l00t
        46
    l00t  
       138 天前   ❤️ 1
    至少加个语言限定吧,没头没脑的不知道说啥
    swulling
        47
    swulling  
       138 天前
    Java 才有这个行为而已。
    apeople
        48
    apeople  
       138 天前
    卧槽,昨天上线后端同事就遇到这个 bug 了,今天刷到这个帖子就感觉很神奇,涨知识了。
    villivateur
        49
    villivateur  
       138 天前
    Felldeadbird
        50
    Felldeadbird  
       138 天前
    目前没有遇到过这个 BUG 。 一般啥语言才有这个坑?
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4287 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 95ms · UTC 02:22 · PVG 10:22 · LAX 19:22 · JFK 22:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.