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

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

  •  1
     
  •   crazychang · 2021-12-30 16:53:26 +08:00 · 6848 次点击
    这是一个创建于 1055 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    学 java 的时候有看到过
    BiChengfei
        12
    BiChengfei  
       2021-12-30 18:14:05 +08:00
    英文写反了
    Robertwhite
        13
    Robertwhite  
       2021-12-30 18:15:16 +08:00
    我用的是 momentjs ,YYYY ,我明天要看一下,到底有没有 bug
    ongongethan
        14
    ongongethan  
       2021-12-30 18:22:05 +08:00 via iPhone
    20060102 表示没有这个问题 doge
    FANGYK
        15
    FANGYK  
       2021-12-30 18:26:10 +08:00
    公司老项目有幸体验到此 BUG ,Jackson 配的大 Y
    daliusu
        16
    daliusu  
       2021-12-30 18:36:12 +08:00
    hahastudio
        17
    hahastudio  
       2021-12-30 18:42:11 +08:00
    /t/740615
    /t/633650
    提前年经了
    crimeshaper
        18
    crimeshaper  
       2021-12-30 19:51:23 +08:00
    golang 表示没这个问题,都是 1,2,3,4,5,6 标志
    zwgf
        19
    zwgf  
       2021-12-30 21:48:19 +08:00
    @crimeshaper 别说 go 真的是最有意思的 2006 年 1 月 2 日 15 点 4 分 5 秒,PHP 直接 Ymd
    zwgf
        20
    zwgf  
       2021-12-30 21:49:50 +08:00
    @zwgf PHP 的 Ymd 雅蠛蝶 都不需要写四个 YYYY
    SolidZORO
        21
    SolidZORO  
       2021-12-30 22:12:46 +08:00 via iPhone
    @zwgf hhh 老哥把我给整笑了,原来 PHP 还有这一出啊……
    lithiumii
        22
    lithiumii  
       2021-12-30 22:21:48 +08:00
    犹记得刚入行时公司遇到这个 bug ,同事们一头雾水的时候我因为摸鱼的时候看到了所以成功确认了问题
    whileFalse
        23
    whileFalse  
       2021-12-31 01:05:02 +08:00 via iPhone   ❤️ 4
    老外就 tm 喜欢研究这些没有用的东西。
    EscYezi
        24
    EscYezi  
       2021-12-31 03:25:55 +08:00 via iPhone
    idea 写 YYYY 会提示改成 yyyy 的,错过一次就不会错第二次了
    0312birdzhang
        25
    0312birdzhang  
       2021-12-31 08:15:49 +08:00 via iPhone
    @SolidZORO on php topic 了(滑稽
    zoffy
        26
    zoffy  
       2021-12-31 09:16:53 +08:00
    涨知识了
    zoffy
        27
    zoffy  
       2021-12-31 09:21:23 +08:00
    前端好像没用这样的约定,至少 moment.js 没有
    yaphets666
        28
    yaphets666  
       2021-12-31 09:30:42 +08:00
    前端的不用担心。。。因为 YYYY 只是告诉格式化工具这里是年的占位符
    yangzzzzzz
        29
    yangzzzzzz  
       2021-12-31 10:11:06 +08:00   ❤️ 1
    没事 元旦客户不上班
    Removable
        30
    Removable  
       2021-12-31 10:16:50 +08:00
    C#的日期格式化好像不支持大写的 Y
    bojackhorseman
        31
    bojackhorseman  
       2021-12-31 10:17:52 +08:00
    确实,用`dayjs`或`moment.js`等前端时间库没有这个问题
    demo
        32
    demo  
       2021-12-31 10:20:44 +08:00
    每年都会遇到这个坑,可能是标准不统一吧,目前接手的项目代码就是这种现状,比如 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  
       2021-12-31 10:57:16 +08:00
    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  
       2021-12-31 11:02:21 +08:00 via iPhone
    所以我说 PHP 是最好的语言这回大家都相信了吧?
    lower
        35
    lower  
       2021-12-31 11:06:28 +08:00
    前端时间库好像是国人搞的
    fdgdbr
        36
    fdgdbr  
       2021-12-31 11:09:27 +08:00
    前两天刚刚出的 bugi😂
    jsjjdzg
        37
    jsjjdzg  
       2021-12-31 11:09:47 +08:00
    时间戳战法无敌
    marcong95
        38
    marcong95  
       2021-12-31 11:44:05 +08:00
    Dayjs 用户无所畏惧,非要用 Week of Year 的时候还要加载插件
    morty0
        39
    morty0  
       2021-12-31 12:24:21 +08:00
    2006-01-02 没有这个问题
    xqk111
        40
    xqk111  
       2021-12-31 13:43:44 +08:00
    momentjs ,试了一下,没事啊
    wktrf
        41
    wktrf  
       2021-12-31 13:55:18 +08:00
    又不是所有语言的都是这种表达形式,没有意义,目前我就知道 Java 有这个坑
    mekingname
        42
    mekingname  
       2021-12-31 13:56:24 +08:00
    From313
        43
    From313  
       2021-12-31 14:00:48 +08:00
    巧了刚改完这个
    Robertwhite
        44
    Robertwhite  
       2021-12-31 14:00:53 +08:00
    @Robertwhite #13 ,刚测了,前端 momentjs ,YYYY ,没有问题
    masterclock
        45
    masterclock  
       2021-12-31 14:05:45 +08:00
    感觉老外我和我们对时间概念的理解很不一样
    YYYY 究竟在上面情况下有用?
    夏令时?
    09/09/09 这样的究竟怎么理解?
    l00t
        46
    l00t  
       2021-12-31 14:22:32 +08:00   ❤️ 1
    至少加个语言限定吧,没头没脑的不知道说啥
    swulling
        47
    swulling  
       2021-12-31 14:27:04 +08:00
    Java 才有这个行为而已。
    apeople
        48
    apeople  
       2021-12-31 16:05:33 +08:00
    卧槽,昨天上线后端同事就遇到这个 bug 了,今天刷到这个帖子就感觉很神奇,涨知识了。
    villivateur
        49
    villivateur  
       2021-12-31 16:19:39 +08:00
    Felldeadbird
        50
    Felldeadbird  
       2021-12-31 16:20:41 +08:00
    目前没有遇到过这个 BUG 。 一般啥语言才有这个坑?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3039 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 14:31 · PVG 22:31 · LAX 06:31 · JFK 09:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.