Java 如何将localDateTime转换为'dd/MM/yyyy'格式?
将Java 如何将localDateTime转换为'dd/MM/yyyy'格式?,java,date,Java,Date,将localDateTime转换为dd/MM/yyyyy 以下是我正在使用的方法: public static Date localDateTimeToDateWithSlash(LocalDateTime localDateTime) { if(localDateTime == null) return null; DateFormat format = new SimpleDateFormat("dd/MM/yyyy"); try {
localDateTime
转换为dd/MM/yyyyy
以下是我正在使用的方法:
public static Date localDateTimeToDateWithSlash(LocalDateTime localDateTime) {
if(localDateTime == null)
return null;
DateFormat format = new SimpleDateFormat("dd/MM/yyyy");
try {
return format.parse(localDateTime.format(slashDateFormater));
}
catch (Exception e) {
return null;
}
}
它返回一个日期,但格式为
2017-12-01T01:00
,但我需要它的格式为dd/MM/yyyyy
format()
执行的日期格式设置返回一个具有预期格式的字符串,但在您使用parse()解析它时返回该字符串
由于日期
不是为保存特定格式而设计的,因此您在输出日期时看到的是日期对象的toString()
表示。日期不包含特定格式;有默认的(可排序的)ISO格式,如2017-12-19T12:55,由toString()
调用。在本例中,返回格式正确的日期字符串
public static String localDateTimeToDateWithSlash(LocalDateTime localDateTime) {
return DateTimeFormatter.ofPattern("dd/MM/yyyy").format(localDateTime);
}
Date和SimpleDataFormat属于“老”一代,在一段时间内仍将大量使用。但是应该尽量减少它们的使用。请参见:您好,这个变量在哪里声明为slashdateformatter?你回来的那个。还有一件事,可以使用LocalDate而不是LocalDateTime作为传入参数吗?我想这会解决你的问题。干杯日期的可能重复项
不能有格式。只是时间的一点。请参阅示例。不要将旧的遗留日期时间类与现代的java.time类混合使用。time类完全取代了旧类。两个完全独立的框架。让包名作为您的指南。