<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          一個(gè)由“ YYYY-MM-dd ”引發(fā)的慘案 !元旦警惕 ~

          共 1568字,需瀏覽 4分鐘

           ·

          2022-01-04 17:10

          【文章來源】https://sourl.cn/6TiASg


          前言

          在元旦假期到來之際,我剛好準(zhǔn)備出去飄幾天,然而在使用一些 App 的時(shí)候,竟然被我發(fā)現(xiàn)了一個(gè)應(yīng)該是由于前端粗心而導(dǎo)致的 bug,在 2019.12.30 出發(fā),結(jié)果 App 上顯示的是 2020.12.30(嚇得我以為我的訂單下錯(cuò)了,此處是不是該把程序員拉去祭天了)。

          鑒于可能會(huì)有程序員因此而被拉去祭天,而我以前學(xué) Java 的時(shí)候就有留意過這個(gè)問題,所以我還是把這個(gè)問題拿出來說一下,希望能盡量避免這方面的粗心大意(畢竟這種問題也很難測出來)。

          正文

          public?class?DateTest?{
          ????public?static?void?main(String[]?args)?{
          ????????Calendar?calendar?=?Calendar.getInstance();
          ????????calendar.set(2019,?Calendar.AUGUST,?31);
          ????????Date?strDate?=?calendar.getTime();
          ????????DateFormat?formatUpperCase?=?new?SimpleDateFormat("yyyy-MM-dd");
          ????????System.out.println("2019-08-31?to?yyyy-MM-dd:?"?+?formatUpperCase.format(strDate));
          ????????formatUpperCase?=?new?SimpleDateFormat("YYYY-MM-dd");
          ????????System.out.println("2019-08-31?to?YYYY/MM/dd:?"?+?formatUpperCase.format(strDate));
          ????}
          }

          我們來看下運(yùn)行結(jié)果:

          2019-08-31?to?yyyy-MM-dd:?2019-08-31
          2019-08-31?to?YYYY/MM/dd:?2019-08-31

          如果我們?nèi)掌诟某?12.31:

          2019-12-31?to?yyyy-MM-dd:?2019-12-31
          2019-12-31?to?YYYY-MM-dd:?2020-12-31

          問題就出現(xiàn)了是吧,雖然是一個(gè)小小的細(xì)節(jié),但是用戶看了也會(huì)一臉懵,但是我們作為開發(fā)者,不能懵啊,趕緊文檔查起來:

          y:year-of-era;正正經(jīng)經(jīng)的年,即元旦過后;Y:week-based-year;只要本周跨年,那么這周就算入下一年;就比如說今年(2019-2020) 12.31 這一周是跨年的一周,而 12.31 是周二,那使用 YYYY 的話會(huì)顯示 2020,使用 yyyy 則會(huì)從 1.1 才開始算是 2020。

          這雖然是個(gè)很小的知識(shí)點(diǎn),但是也有很多人栽到坑里,各位學(xué)完可以記錄一下咯,覺得好的還可以點(diǎn)個(gè)贊關(guān)注一下。我在這里祝愿各位碼代碼時(shí)如有神助,永遠(yuǎn)沒有 bug~

          程序汪資料鏈接

          程序汪接的7個(gè)私活都在這里,經(jīng)驗(yàn)整理

          Java項(xiàng)目分享 最新整理全集,找項(xiàng)目不累啦 06版

          堪稱神級的Spring Boot手冊,從基礎(chǔ)入門到實(shí)戰(zhàn)進(jìn)階

          臥槽!字節(jié)跳動(dòng)《算法中文手冊》火了,完整版 PDF 開放下載!

          臥槽!阿里大佬總結(jié)的《圖解Java》火了,完整版PDF開放下載!

          字節(jié)跳動(dòng)總結(jié)的設(shè)計(jì)模式 PDF 火了,完整版開放下載!


          歡迎添加程序汪個(gè)人微信 itwang005? 進(jìn)粉絲群或圍觀朋友圈

          瀏覽 40
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  影音先锋日韩资源 | 约操魔都极品细腰 | 特黄AAAAAAAA免费看直播 | 欧美日P视频 | 香蕉久久精品 |