【问题标题】:How to get TimeZone from Temporal?如何从 Temporal 获取 TimeZone?
【发布时间】:2015-08-27 08:46:57
【问题描述】:
interface SomeDataClass {
  TemporalAccessor getSomeTime();
}

//somewhere in the impl...
public TemporalAccessor getSomeTime() {
  return OffsetDateTime.from(dateTimeFormatter.parse(someDateInstring));
}

有人知道如何从这个TemporalAccessor 接口获取时区数据吗?

【问题讨论】:

  • 我强烈建议不要使用Temporal(或TemporalAccessor),因为像ZoneOffset.from(acc) 这样的代码可以抛出DateTimeException(例如,如果你有一个具体的LocalDateTime-object) .它根本不是类型安全的。最好始终使用最终的具体类型。

标签: java java-8 java-time temporal


【解决方案1】:

如果您需要ZoneOffsetZoneId,您可以从TemporalAccessor 创建它:

TemporalAccessor acc = ZonedDateTime.now();
System.out.println(ZoneOffset.from(acc));
System.out.println(ZoneId.from(acc));

【讨论】:

  • 这就是我要找的答案,非常感谢!
猜你喜欢
  • 2019-11-19
  • 2012-07-09
  • 2018-01-16
  • 2018-04-16
  • 1970-01-01
  • 2018-07-02
  • 1970-01-01
  • 1970-01-01
  • 2021-11-28
相关资源
最近更新 更多