LocalDateTime 到特定时区

新手上路,请多包涵

我有一个采用 UTC 的 localdatetime 对象。我想转换成 IST。我怎样才能做到这一点?

 LocalDateTime dateTimeOfAfterFiveDays = LocalDateTime.ofEpochSecond(after5,0,ZoneOffset.UTC);

原文由 Ashutosh Soni 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 410
1 个回答

自 Java 8 以来,日期/时间 API 非常易于使用。

在你的情况下:

 // your local date/time with no timezone information
LocalDateTime localNow = LocalDateTime.now();
// setting UTC as the timezone
ZonedDateTime zonedUTC = localNow.atZone(ZoneId.of("UTC"));
// converting to IST
ZonedDateTime zonedIST = zonedUTC.withZoneSameInstant(ZoneId.of("Asia/Kolkata"));

您会看到 zonedUTCzonedIST 之间的时间(可能还有日期)差异,反映了两者之间的时区偏移。

请注意此处 withZoneSameInstant 的用法,例如与 withZoneSameLocal 相对。

原文由 Mena 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题