Java 格式化本地日期输出
因此,我有一个类“Person”,它包含一个具有4个参数的构造函数—3个字符串和1个本地日期,以及一个重写的toString方法,该方法将输出写入控制台(它还将LocalDate变量转换为字符串)。以下是代码:Java 格式化本地日期输出,java,localdate,Java,Localdate,因此,我有一个类“Person”,它包含一个具有4个参数的构造函数—3个字符串和1个本地日期,以及一个重写的toString方法,该方法将输出写入控制台(它还将LocalDate变量转换为字符串)。以下是代码: public class Person { String name; String surname; LocalDate date; String placeOfBirth; Person (String name, S
public class Person {
String name;
String surname;
LocalDate date;
String placeOfBirth;
Person (String name, String surname, LocalDate date, String placeOfBirth) {
this.name = name;
this.surname = surname;
this.date = date;
this.placeOfBirth = placeOfBirth;
}
public String toString () {
return name + " " + surname + " " + date.toString() + " " + placeOfBirth;
}
}
现在,在main方法中,我创建了3个具有不同参数的不同对象,并将它们全部添加到ArrayList中,如下所示:
ArrayList lista = new ArrayList();
lista.add(person1.toString());
lista.add(person2.toString());
lista.add(person3.toString());
for (Object data: lista) {
System.out.println(data);
}
程序运行良好,我得到以下格式的输出:
Michael Barton 1968-01-01 Krakov
现在,我希望这个日期显示为“1968年1月1日”,而不是“1968-01-01”。在这段代码中有没有一种格式化的方法
提前感谢。您可以使用以下示例替换toString方法:
public String toString () {
final DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("dd. MMMM yyyy");
return name + " " + surname + " " + date.format(dateFormatter) + " " + placeOfBirth;
}
LocalDate
有一个方法format()
,该方法将DateTimeFormatter
作为参数。看看那个。