首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用DateTimeFormatter将java.util.date转换为字符串

使用DateTimeFormatter将java.util.date转换为字符串
EN

Stack Overflow用户
提问于 2017-02-14 01:46:20
回答 5查看 60.5K关注 0票数 28

如何使用将java.util.Date转换为String

代码语言:javascript
复制
 DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss")

我得到的Date对象被传递

代码语言:javascript
复制
DateTime now = new DateTime(date);
EN

回答 5

Stack Overflow用户

发布于 2017-02-14 02:37:30

如果您使用的是Java8,那么一开始就不应该使用java.util.Date (除非您从一个您无法控制的库接收Date对象)。

在任何情况下,您都可以使用以下命令将Date转换为java.time.Instant

代码语言:javascript
复制
Date date = ...;
Instant instant = date.toInstant();

由于您只对日期和时间感兴趣,而没有时区信息(我假设一切都是协调世界时),所以您可以将该瞬间转换为LocalDateTime对象:

代码语言:javascript
复制
LocalDateTime ldt = instant.atOffset(ZoneOffset.UTC).toLocalDateTime();

最后,您可以使用以下命令打印它:

代码语言:javascript
复制
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss");
System.out.println(ldt.format(fmt));

或者使用预定义的格式化程序DateTimeFormatter.ISO_LOCAL_DATE_TIME

代码语言:javascript
复制
System.out.println(ldt.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME));

请注意,如果您不提供格式化程序,则调用ldt.toString将以标准ISO 8601格式(包括毫秒)提供输出--您可能可以接受这一格式。

票数 32
EN

Stack Overflow用户

发布于 2021-02-13 15:19:06

代码语言:javascript
复制
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));
票数 2
EN

Stack Overflow用户

发布于 2017-02-14 02:23:06

代码语言:javascript
复制
DateTime dt = new DateTime(date);
DateTimeFormatter dtf = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss");
dt.toString(dtf)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42210257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档