我正在尝试使用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);
答案 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);