# Java 8 解析字符串为日期

> 原文： [https://howtodoinjava.com/java8/java-8-parse-string-to-date/](https://howtodoinjava.com/java8/java-8-parse-string-to-date/)

让我们看看如何在 Java 8 中从字符串转换为日期。

## 1）将字符串转换为 ISO8601 格式的日期

默认情况下，java 日期采用 ISO8601 格式，因此，如果您有任何表示 ISO8601 格式的日期的字符串，则可以直接使用`LocalDate.parse()`或`LocalDateTime.parse()`方法。

```java
String armisticeDate = "2016-04-04";

LocalDate aLD = LocalDate.parse(armisticeDate);
System.out.println("Date: " + aLD);

String armisticeDateTime = "2016-04-04T11:50";

LocalDateTime aLDT = LocalDateTime.parse(armisticeDateTime);
System.out.println("Date/Time: " + aLDT);

Output:

Date: 2016-04-04
Date/Time: 2016-04-04T11:50

```

## 2）以自定义格式将字符串转换为日期

如果日期采用某种自定义格式，则还需要使用`DateTimeFormatter.ofPattern()`放置其他逻辑来处理格式。

```java

String anotherDate = "04 Apr 2016";

DateTimeFormatter df = DateTimeFormatter.ofPattern("dd MMM yyyy");
LocalDate random = LocalDate.parse(anotherDate, df);

System.out.println(anotherDate + " parses as " + random);

```

学习愉快！

参考文献：

[`DateTimeFormatter`](https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html)

[`LocalDateTime`](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDateTime.html)

[`LocalDate`](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html)