昨天你用的 YYYY-MM-dd 被同事錘了嗎?

昨天在v站上看到這個關於YYYY-MM-dd的使用而出現Bug的帖子(v2ex.com/t/633650)很是有意思,因此拿過來分享一下。html

在任何編程語言中,對於時間、數字等數據上,都存在不少相似這種平時一切OK,特定時間、特定環境出問題的狀況。出現這種問題的根本緣由仍是咱們對於各類數據結構的細節定義在開始的時候都不太注意,都是從每一次使用問題出現以後纔開始有了「刻骨銘心」的認識。java

不論昨天你是否也經歷了這樣的Bug,仍是沒有經歷的讀者,但願看到這篇文章以後,對這個細節能夠上點心,避免往後由於這個細節而犯錯。編程

下面就來一塊兒看看這個問題的表現和緣由吧:segmentfault

問題表現

file

問題緣由

YYYYweek-based-year,表示:當天所在的周屬於的年份,一週從週日開始,週六結束,只要本週跨年,那麼這周就算入下一年。因此2019年12月31日那天在這種表述方式下就已經 2020 年了。而當使用yyyy的時候,就仍是 2019 年。api

相關說明

歡迎關注個人公衆號:程序猿DD,得到獨家整理的學習資源和平常乾貨推送。
若是您對個人專題內容感興趣,也能夠關注個人博客: didispace.com
相關文章
相關標籤/搜索