最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java中日期格式化的大坑

 更新時間:2021年01月08日 14:49:22   作者:經(jīng)典雞翅  
這篇文章主要介紹了java中日期格式化的大坑,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前言

我們都知道在java中進行日期格式化使用simpledateformat。通過格式 yyyy-MM-dd 等來進行格式化,但是你知道其中微小的坑嗎?

yyyy 和 YYYY

示例代碼

  @Test
  public void testWeekBasedYear() {
    Calendar calendar = Calendar.getInstance();
    // 2019-12-31
    calendar.set(2019, Calendar.DECEMBER, 31);
    Date strDate1 = calendar.getTime();
    // 2020-01-01
    calendar.set(2020, Calendar.JANUARY, 1);
    Date strDate2 = calendar.getTime();
    // 大寫 YYYY
    SimpleDateFormat formatYYYY = new SimpleDateFormat("YYYY/MM/dd");
    System.out.println("2019-12-31 轉 YYYY/MM/dd 格式: " + formatYYYY.format(strDate1));
    System.out.println("2020-01-01 轉 YYYY/MM/dd 格式: " + formatYYYY.format(strDate2));
    // 小寫 YYYY
    SimpleDateFormat formatyyyy = new SimpleDateFormat("yyyy/MM/dd");
    System.out.println("2019-12-31 轉 yyyy/MM/dd 格式: " + formatyyyy.format(strDate1));
    System.out.println("2020-01-01 轉 yyyy/MM/dd 格式: " + formatyyyy.format(strDate2));
  }

輸出的結果

2019-12-31 轉 YYYY/MM/dd 格式: 2020/12/31
2020-01-01 轉 YYYY/MM/dd 格式: 2020/01/01
2019-12-31 轉 yyyy/MM/dd 格式: 2019/12/31
2020-01-01 轉 yyyy/MM/dd 格式: 2020/01/01

2019變成2020了?

YYYY 是怎么做到的呢

Java's DateTimeFormatter pattern "YYYY" gives you the week-based-year, (by default, ISO-8601 standard) the year of the Thursday of that week.
下面就是用YYYY格式化代碼

12/29/2019 將會格式化到2019年 這一周還屬于2019年
12/30/2019 將會格式化到2020年 這一周已經(jīng)屬于2020年
看字說話YYYY,week-based year 是 ISO 8601 規(guī)定的。
2019-12-31號這一天,按周算年份已經(jīng)屬于2020年了,格式化之后就變成2020年,后面的月份日期不變。

dd和DD

示例代碼

 private static void tryit(int Y, int M, int D, String pat) {
    DateTimeFormatter fmt = DateTimeFormatter.ofPattern(pat);
    LocalDate     dat = LocalDate.of(Y,M,D);
    String      str = fmt.format(dat);
    System.out.printf("Y=%04d M=%02d D=%02d " +
      "formatted with " +
      "\"%s\" -> %s\n",Y,M,D,pat,str);
  }
  public static void main(String[] args){
    tryit(2020,01,20,"MM/DD/YYYY");
    tryit(2020,01,21,"DD/MM/YYYY");
    tryit(2020,01,22,"YYYY-MM-DD");
    tryit(2020,03,17,"MM/DD/YYYY");
    tryit(2020,03,18,"DD/MM/YYYY");
    tryit(2020,03,19,"YYYY-MM-DD");
  }

輸出結果

Y=2020 M=01 D=20 formatted with "MM/DD/YYYY" -> 01/20/2020
Y=2020 M=01 D=21 formatted with "DD/MM/YYYY" -> 21/01/2020
Y=2020 M=01 D=22 formatted with "YYYY-MM-DD" -> 2020-01-22
Y=2020 M=03 D=17 formatted with "MM/DD/YYYY" -> 03/77/2020
Y=2020 M=03 D=18 formatted with "DD/MM/YYYY" -> 78/03/2020
Y=2020 M=03 D=19 formatted with "YYYY-MM-DD" -> 2020-03-79

這里的大寫的DD代表的是處于這一年中那一天,不是處于這個月的那一天,但是dd就沒有問題。

結論

格式化日期一定要選用 yyyy-MM-dd哦!

到此這篇關于java中日期格式化的大坑的文章就介紹到這了,更多相關java 日期格式化內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家! 

相關文章

  • 使用SpringBoot與Thrift實現(xiàn)RPC通信的方式詳解

    使用SpringBoot與Thrift實現(xiàn)RPC通信的方式詳解

    在微服務架構的世界里,服務間的通信機制選擇成為了關鍵決策之一,RPC因其簡潔、高效的特點備受青睞,本文將詳細探討如何利用Spring?Boot和Thrift框架構建RPC通信,讓讀者理解其內在原理及實現(xiàn)方式,需要的朋友可以參考下
    2023-10-10
  • Java抽獎算法第二例

    Java抽獎算法第二例

    這篇文章主要為大家詳細介紹了Java抽獎算法,根據(jù)概率將獎品劃分區(qū)間,每個區(qū)間代表一個獎品,然后抽取隨機數(shù),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • Java深入了解數(shù)據(jù)結構之哈希表篇

    Java深入了解數(shù)據(jù)結構之哈希表篇

    哈希表是一種根據(jù)關鍵碼去尋找值的數(shù)據(jù)映射結構,該結構通過把關鍵碼映射的位置去尋找存放值的地方,說起來可能感覺有點復雜,我想我舉個例子你就會明白了,最典型的的例子就是字典
    2022-01-01
  • java使用xpath和dom4j解析xml

    java使用xpath和dom4j解析xml

    XPath是一門在XML文檔中查找信息的語言,下面介紹一下java使用xpath和dom4j解析xml的示例,大家參考使用吧
    2014-01-01
  • Mybatis-Plus Wrapper條件構造器超詳細使用教程

    Mybatis-Plus Wrapper條件構造器超詳細使用教程

    接口方法的參數(shù)中,會出現(xiàn)各種 Wrapper,比如 queryWrapper、updateWrapper 等。Wrapper 的作用就是用于定義各種各樣的條件(where)。所以不管是查詢、更新、刪除都會用到Wrapper
    2022-03-03
  • Java?精煉解讀數(shù)據(jù)結構的鏈表的概念與實現(xiàn)

    Java?精煉解讀數(shù)據(jù)結構的鏈表的概念與實現(xiàn)

    鏈表是一種物理存儲單元上非連續(xù)、非順序的存儲結構,數(shù)據(jù)元素的邏輯順序是通過鏈表中的指針連接次序實現(xiàn)的,每一個鏈表都包含多個節(jié)點,節(jié)點又包含兩個部分,一個是數(shù)據(jù)域,一個是引用域
    2022-03-03
  • SpringBoot整合Mybatis-Plus分頁失效的解決

    SpringBoot整合Mybatis-Plus分頁失效的解決

    本文主要介紹了SpringBoot整合Mybatis-Plus分頁失效的解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • Java8 LocalDateTime極簡時間日期操作小結

    Java8 LocalDateTime極簡時間日期操作小結

    這篇文章主要介紹了Java8-LocalDateTime極簡時間日期操作整理,通過實例代碼給大家介紹了java8 LocalDateTime 格式化問題,需要的朋友可以參考下
    2020-04-04
  • sprng和struts有什么區(qū)別?

    sprng和struts有什么區(qū)別?

    Spring和Struts都是近年來比較流行的框架,Struts主要用于表示層,Spring用于業(yè)務層,以及Hiberate主要用于持久層,
    2015-06-06
  • SpringBoot定制三種錯誤頁面及錯誤數(shù)據(jù)方法示例

    SpringBoot定制三種錯誤頁面及錯誤數(shù)據(jù)方法示例

    Spring Boot提供的默認異常處理機制通常并不一定適合我們實際的業(yè)務場景,因此,我們通常會根據(jù)自身的需要對Spring Boot全局異常進行統(tǒng)一定制,例如定制錯誤頁面,定制錯誤數(shù)據(jù)等。本文主要介紹了SpringBoot三種自定義錯誤頁面的實現(xiàn),快來學習吧
    2021-12-12

最新評論

平顶山市| 武功县| 临武县| 永宁县| 正定县| 全州县| 靖州| 泗洪县| 大渡口区| 平利县| 思茅市| 行唐县| 博湖县| 邯郸市| 武威市| 东安县| 民县| 十堰市| 宿迁市| 土默特左旗| 布尔津县| 万山特区| 思茅市| 舟山市| 清原| 天津市| 和田县| 乐平市| 西丰县| 合山市| 安义县| 五指山市| 无棣县| 棋牌| 西吉县| 辽源市| 贵溪市| 维西| 阳高县| 当涂县| 峨眉山市|