如何将java.util.Date更改为java.time.LocalDateTime?

2020-08-30 06:19发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我在hybris 1905上,无法使用LocalDateTime创建类型。

我们何时才能使用优质的日期api?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我在hybris 1905上,无法使用LocalDateTime创建类型。

我们何时才能使用优质的日期api?

付费偷看设置
发送
1条回答
nice_wp
1楼 · 2020-08-30 06:50.采纳回答

嗨,Acacio,

您是否尝试过

java.util.Date实例没有时区的概念。 如果在java.util.Date上调用toString(),这似乎很奇怪,因为toString是相对于时区的。 但是,该方法实际上是即时使用Java的默认时区来提供字符串。 时区不是java.util.Date实际状态的一部分。 Instant也不包含有关时区的任何信息。 因此,要将即时时间转换为本地日期时间,必须指定一个时区。 这可能是默认区域-ZoneId.systemDefault()-或它可能是您的应用程序控制的时区,例如来自用户首选项的时区。 LocalDateTime有一个方便的工厂方法,该方法同时使用即时和时区: 日期= new Date(); LocalDateTime ldt = LocalDateTime.ofInstant(in.toInstant(),ZoneId.systemDefault()); 相反,可以通过调用atZone(ZoneId)方法来指定时区的LocalDateTime。 然后可以将ZonedDateTime直接转换为Instant: LocalDateTime ldt = ... ZonedDateTime zdt = ldt.atZone(ZoneId.systemDefault()); 日期输出= Date.from(zdt.toInstant());

Br,

Keshav

一周热门 更多>