在 Java 中转换日期格式
Convert Date format in Java
我在 DTO 对象中有一个 Date 对象:
public class TopTerminalsDTO {
private Date date;
private int volume;
private int count;
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public int getVolume() {
return volume;
}
public void setVolume(int volume) {
this.volume = volume;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
}
当我在 Angular 中得到响应时,我得到
count: 1
date: "2018-10-06T00:00:00.000+0000"
volume: 111
我想在 Angular 中获取此日期格式 YYYY-MM-DD HH:mm:ss
。
将 Date 转换为 DTO 对象的正确方法是什么?使用 LocalDateTime 更好吗?
使用以下代码。
Date myDate = new Date();
System.out.println(new SimpleDateFormat("YYYY-MM-DD HH:mm:ss").format(myDate));
LocalDate
是许多开发人员的首选方式,因为它已在 Java 8 中发布。您可以使用 .format(DateTimeFormatter)
LocalDate
.
的方法
喜欢这个例子来自:https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html
LocalDate date = LocalDate.now();
String text = date.format(formatter);
LocalDate parsedDate = LocalDate.parse(text, formatter);
编辑:
LocalDate
class 不提供时间表示。因此如果你喜欢也有时间,就用LocalDateTime
class。 LocalDateTime
的.format()
方法可以像上图LocalDate
的.format()
方法一样使用
最好使用 LocalDateTime 对象,但它 return 它会在日期和小时之间加上一个 T。您应该像在此处选择的答案中那样将其删除
您可以使用 DateFormat 来转换您想要的日期格式。
TopTerminalsDTO tt = new TopTerminalsDTO();
tt.setDate(new Date());
String strDateFormat = "YYYY-MM-DD HH:mm:ss";
DateFormat dateFormat = new SimpleDateFormat(strDateFormat);
String formattedDate= dateFormat.format(tt.getDate());
System.out.println(formattedDate);
当您将 rest 对象发送到 angular 时,您可以将字符串字段用作 DTO 中的日期,一旦将其转换为所需的日期格式。
我在 DTO 对象中有一个 Date 对象:
public class TopTerminalsDTO {
private Date date;
private int volume;
private int count;
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public int getVolume() {
return volume;
}
public void setVolume(int volume) {
this.volume = volume;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
}
当我在 Angular 中得到响应时,我得到
count: 1
date: "2018-10-06T00:00:00.000+0000"
volume: 111
我想在 Angular 中获取此日期格式 YYYY-MM-DD HH:mm:ss
。
将 Date 转换为 DTO 对象的正确方法是什么?使用 LocalDateTime 更好吗?
使用以下代码。
Date myDate = new Date();
System.out.println(new SimpleDateFormat("YYYY-MM-DD HH:mm:ss").format(myDate));
LocalDate
是许多开发人员的首选方式,因为它已在 Java 8 中发布。您可以使用 .format(DateTimeFormatter)
LocalDate
.
喜欢这个例子来自:https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html
LocalDate date = LocalDate.now();
String text = date.format(formatter);
LocalDate parsedDate = LocalDate.parse(text, formatter);
编辑:
LocalDate
class 不提供时间表示。因此如果你喜欢也有时间,就用LocalDateTime
class。 LocalDateTime
的.format()
方法可以像上图LocalDate
的.format()
方法一样使用
最好使用 LocalDateTime 对象,但它 return 它会在日期和小时之间加上一个 T。您应该像在此处选择的答案中那样将其删除
您可以使用 DateFormat 来转换您想要的日期格式。
TopTerminalsDTO tt = new TopTerminalsDTO();
tt.setDate(new Date());
String strDateFormat = "YYYY-MM-DD HH:mm:ss";
DateFormat dateFormat = new SimpleDateFormat(strDateFormat);
String formattedDate= dateFormat.format(tt.getDate());
System.out.println(formattedDate);
当您将 rest 对象发送到 angular 时,您可以将字符串字段用作 DTO 中的日期,一旦将其转换为所需的日期格式。