我有一个名为date的LocalDate变量,当我打印它时显示1988-05-05,我需要将其转换为打印为05。1988年5月。如何做到这一点?


当前回答

System.out.println(LocalDate.now().format(DateTimeFormatter.ofPattern("dd.MMMM yyyy")));

上面的答案就是今天的答案

其他回答

一个很好的方法是使用SimpleDateFormat,我会告诉你怎么做:

SimpleDateFormat sdf = new SimpleDateFormat("d MMMM YYYY");
Date d = new Date();
sdf.format(d);

我看到你有一个变量的日期:

sdf.format(variable_name);

欢呼。

可以简短为:

LocalDate.now().format(DateTimeFormatter.ofPattern("dd/MM/yyyy"));

SimpleDateFormat将不能工作,如果他开始与LocalDate,这是新的在Java 8。在我看来,您必须使用DateTimeFormatter, http://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html。

LocalDate localDate = LocalDate.now();//For reference
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd LLLL yyyy");
String formattedString = localDate.format(formatter);

应该是1988年5月5日。要获得日之后月之前的周期,可能必须使用“dd”。LLLL yyyy”

在Joda库中有一个内置的方法来格式化LocalDate

import org.joda.time.LocalDate;

LocalDate localDate = LocalDate.now();
String dateFormat = "MM/dd/yyyy";
localDate.toString(dateFormat);

如果你还没有它-添加到build.gradle:

implementation 'joda-time:joda-time:2.9.5'

编码快乐!:)

System.out.println(LocalDate.now().format(DateTimeFormatter.ofPattern("dd.MMMM yyyy")));

上面的答案就是今天的答案