ZoneDateTime对象默认设置为UTC

时间:2018-08-23 08:26:14

标签: java date datetime java-time zoneddatetime

嗨,我的控制器请求映射中有一个日期对象。该对象是ZoneDateTime。问题在于将数据解析为ZoneDateTime,默认情况下会将其转换为UTC。我需要保留时区信息。有没有办法解决这个问题。

 ex: 2018-06-10T12:00:00+0500

我的控制器中的值:

 2018-06-10T07:00:00[UTC]

我计划在对控制器中的数据进行封送处理时使用对象映射器对其进行修复。但是我不确定我是否朝着正确的方向前进。

谢谢。

1 个答案:

答案 0 :(得分:2)

您要解析的字符串没有时区信息。要使用的适当类型是public void populateFragments() { Fragment fragment = new Fragment(); //fragment is added for the first time addFragment(fragment); // fragment is added for the second time // This call will be responsible for the issue. The addFragment(fragment); } public void addFragment(Fragment fragment) { FrameLayout frameLayout = AppView.createFrameLayout(context); view.addView(frameLayout); getSupportFragmentManager().beginTransaction().add(frameLayout.getId(), fragment).commit(); }

OffsetDateTime

您可以通过调用OffsetDateTime dt = OffsetDateTime.parse("2018-06-10T12:00:00+0500", DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssX")) 将其转换为ZonedDateTime