【问题标题】:Create LocalDate Object from Integers从整数创建 LocalDate 对象
【发布时间】:2015-05-17 16:54:08
【问题描述】:

如果我已经有一个日期的月、日和年作为整数,使用它们创建LocalDate 对象的最佳方法是什么?我找到了这篇帖子 String to LocalDate ,但它以 String 表示日期开头。

【问题讨论】:

    标签: java date java-8 jsr310


    【解决方案1】:

    除了 Rohit 的回答,您还可以使用此代码从 String 获取 Localdate

        String str = "2015-03-15";
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        LocalDate dateTime = LocalDate.parse(str, formatter);
        System.out.println(dateTime);
    

    【讨论】:

    • 此处显示的格式(年-月-日)符合ISO 8601 标准。 java.time 类在解析/生成日期时间值的文本表示时默认使用该标准。所以不需要指定格式化模式;你可以跳过DateTimeFormatter。让LocalDate 直接解析那个字符串,像这样:… = LocalDate.parse( "2015-03-15" );
    【解决方案2】:

    你可以像这样使用整数创建 LocalDate

          LocalDate inputDate = LocalDate.of(year,month,dayOfMonth);
    

    你可以使用 String 创建 LocalDate

          String date = "04/04/2004";
          inputDate = LocalDate.parse(date,
                          DateTimeFormat.forPattern("dd/MM/yyyy"));
    

    您也可以使用其他格式,但您必须在 forPattern(...) 中更改 String

    【讨论】:

      【解决方案3】:

      使用LocalDate#of(int, int, int) 方法,该方法需要年、月和日。

      【讨论】:

      • 月份和日期从 1 开始(这可能看起来很明显,但这是 Java)。
      猜你喜欢
      • 1970-01-01
      • 2018-02-03
      • 1970-01-01
      • 2013-10-23
      • 2019-07-14
      • 2021-12-06
      相关资源
      最近更新 更多