解析日期物件

將日期字串轉換為JAVA系統日期物件(LocalDate)。如果日期字串無法通過check()驗證,抛出執行期例外。

LocalDate parse(String)
  • 適用於:YYYMMDD
  • 轉換為Java8 LocalDate 物件。
LocalDate parseWithSeparator(String)
  • 適用於:YYYMMDD
  • 因為指定輸入資料有插入分隔字元,所以可允許輸入年月日未補0至固定位數。
  • 如果輸入未包含指定分割字元,視同一般YYYMMDD格式解析。
    final LocalDate expected = LocalDate.of(2009, 8, 3);
    assertEquals(expected, YYYMMDDUtils.parseWithSeparator("098/08/03", '/'));
    assertEquals(expected, YYYMMDDUtils.parseWithSeparator("098/8/3", '/'));
    assertEquals(expected, YYYMMDDUtils.parseWithSeparator("98/8/3", '/'));
    // 輸入未包含指定分割字元,視同一般YYYMMDD格式解析。
    assertEquals(expected, YYYMMDDUtils.parseWithSeparator("0980803", '/'));
    // 以 – 分割的民國前日期,是解析時的例外情境。
    assertEquals(LocalDate.of(1911,12,1),YYYMMDDUtils.parseWithSeparator("-1-12-01", '-'));
    // 連續的兩個 – 是錯誤格式:
    // expectException ( () -> YYYMMDDUtils.parseWithSeparator("--1-1-1", '-')) );
    

results matching ""

    No results matching ""