【问题标题】:How can I convert YMD LDAP timestamps to date time in Java?如何将 YMD LDAP 时间戳转换为 Java 中的日期时间?
【发布时间】:2020-03-16 19:35:23
【问题描述】:

例如,我的日期为:20171208181856.0Z,我想使用 java 将其转换为日期时间格式。我似乎没有找到任何可行的解决方案。

【问题讨论】:

  • 小数点后总是有一位小数吗?

标签: java timestamp ldap unix-timestamp


【解决方案1】:

您可以使用输入格式创建DateTimeFormatter并将其解析为ZonedDateTimeOffsetDateTime

String dateTime = "20171208181856.0Z";

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss.SX");

OffsetDateTime offsetDateTime = OffsetDateTime.parse(dateTime,formatter);

System.out.println(offsetDateTime);

【讨论】:

  • 好答案。但是OffsetDateTimeZonedDateTime 更适合UTC 值(Z)。
  • 我建议完全删除ZonedDateTime 代码。对它没有好处。显示两者都令人困惑。
  • 非常感谢您的回复,非常感谢您的快速帮助。它解决了我的问题,虽然我得到了正确的日期,但时间有点奇怪:“2017-12-08T18:18:56Z”。
  • 为什么很奇怪?你的预期输出是什么? @RiddhimaBhalerao
  • @Deadpool,它应该看起来像这样:2017-12-08 18:18:56 GMT,像这样,任何时区都可以。我不想要日期时间中的 T 和 Z。我可以通过字符串操作将其删除,但我只想尝试使用 Java 时间和日期包。我尝试使用区域,但由于某种原因它无法正常工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-03
  • 1970-01-01
  • 2012-08-04
  • 2017-04-25
  • 2022-01-08
相关资源
最近更新 更多