使用java8

时间:2016-02-27 03:55:31

标签: java datetime java-8

我正在尝试使用java 8将字符串转换为某种格式的日期。以下是我的代码。即使在将格式模式提到MM / dd / yyyy后,我收到的输出也是yyyy / DD / MM格式。有人可以指出我做错了什么吗?

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

3 个答案:

答案 0 :(得分:7)

这是因为您使用toString method表示:

  

输出将采用ISO-8601格式uuuu-MM-dd。

您传递给 ant.importBuild 'assets.xml' preBuild.dependsOn(list, checksum) clean.dependsOn(clean_assets) 的{​​{1}}仅用于创建DateTimeFormatter,但它不会“附加”到创建的实例。您需要使用LocalDate.format method,如下所示:

LocalDate.parse

答案 1 :(得分:2)

LocalDate是一个日期对象。它不是String对象,因此它将显示日期输出字符串的格式将取决于toString实现。

您已将其正确转换为LocalDate对象,但如果要以特定字符串格式显示日期对象,则需要相应地格式化它:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy");
System.out.println(dateTime.format(formatter))

这样,您可以通过提供格式化程序将日期转换为您想要的任何字符串格式。

答案 2 :(得分:1)

您可以将SimpleDateFormat类用于此目的。 使用您想要的日期格式初始化SimpleDateFormat对象。

String dateInString = "27/02/2016"
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
Date date = formatter.parse(dateInString);