从整数创建LocalDate对象

Gre*_*lvo 19 java date java-8

如果我已经将日期的月,日和年作为整数,那么使用它们创建LocalDate对象的最佳方法是什么?我发现这篇文章字符串为LocalDate,但它以String日期的表示开头.

Roh*_*ain 30

使用LocalDate#of(int, int, int)需要年,月和日的方法.

  • 月和日从“1”开始(这似乎很明显,但这是 Java)。 (4认同)

Dra*_*eru 13

您可以使用整数创建这样的LocalDate

      LocalDate inputDate = LocalDate.of(year,month,dayOfMonth);
Run Code Online (Sandbox Code Playgroud)

并从您可以使用的String创建LocalDate

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

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


Ugu*_*tun 6

除了 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);
Run Code Online (Sandbox Code Playgroud)

  • 此处显示的格式(年-月-日)符合 [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) 标准。java.time 类在解析/生成日期时间值的文本表示时默认使用该标准。所以不需要指定格式模式;你可以跳过`DateTimeFormatter`。让 `LocalDate` 直接解析该字符串,如下所示:`... = LocalDate.parse( "2015-03-15" );` (2认同)