如何使用将java.util.Date
转换为String
DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss")
我得到的Date对象被传递
DateTime now = new DateTime(date);
发布于 2017-02-14 02:37:30
如果您使用的是Java8,那么一开始就不应该使用java.util.Date
(除非您从一个您无法控制的库接收Date
对象)。
在任何情况下,您都可以使用以下命令将Date
转换为java.time.Instant
:
Date date = ...;
Instant instant = date.toInstant();
由于您只对日期和时间感兴趣,而没有时区信息(我假设一切都是协调世界时),所以您可以将该瞬间转换为LocalDateTime
对象:
LocalDateTime ldt = instant.atOffset(ZoneOffset.UTC).toLocalDateTime();
最后,您可以使用以下命令打印它:
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss");
System.out.println(ldt.format(fmt));
或者使用预定义的格式化程序DateTimeFormatter.ISO_LOCAL_DATE_TIME
。
System.out.println(ldt.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME));
请注意,如果您不提供格式化程序,则调用ldt.toString
将以标准ISO 8601格式(包括毫秒)提供输出--您可能可以接受这一格式。
发布于 2021-02-13 15:19:06
java.util.Date date = new java.util.Date(System.currentTimeMillis());
Instant instant = date.toInstant();
LocalDateTime ldt = instant.atZone(ZoneId.systemDefault()).toLocalDateTime();
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss");
System.out.println(ldt.format(fmt));
发布于 2017-02-14 02:23:06
DateTime dt = new DateTime(date);
DateTimeFormatter dtf = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss");
dt.toString(dtf)
https://stackoverflow.com/questions/42210257
复制相似问题