如何在Java中将YMD LDAP时间戳转换为日期时间?
例如,我的日期为:201712081856.0Z,我想使用java将其转换为日期时间格式。我似乎找不到任何有效的解决方案。您可以使用输入格式创建并将其解析为或如何在Java中将YMD LDAP时间戳转换为日期时间?,java,timestamp,ldap,unix-timestamp,Java,Timestamp,Ldap,Unix Timestamp,例如,我的日期为:201712081856.0Z,我想使用java将其转换为日期时间格式。我似乎找不到任何有效的解决方案。您可以使用输入格式创建并将其解析为或 回答得好。但是OffsetDateTime比ZonedDateTime更适合UTC值(Z),我建议将ZonedDateTime代码全部删除。没有好处。显示两者都令人困惑。非常感谢您的回复,非常感谢您的快速帮助。它解决了我的问题,虽然我得到了正确的日期,但时间有点奇怪:“2017-12-08T18:18:56Z”。为什么奇怪?你的预期产出是
回答得好。但是
OffsetDateTime
比ZonedDateTime
更适合UTC值(Z
),我建议将ZonedDateTime
代码全部删除。没有好处。显示两者都令人困惑。非常感谢您的回复,非常感谢您的快速帮助。它解决了我的问题,虽然我得到了正确的日期,但时间有点奇怪:“2017-12-08T18:18:56Z”。为什么奇怪?你的预期产出是多少@RiddhimaBhalerao@Deadpool,应该是这样的:2017-12-08 18:18:56格林威治标准时间,类似这样的时间,任何时区都可以。我不想让t和Z出现在datetime中。我可以通过字符串操作删除它,但我只想尝试使用Java时间和日期包。我试过使用zone,但由于某些原因它不起作用。小数点后是否总是正好有一个小数点?
String dateTime = "20171208181856.0Z";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss.SX");
OffsetDateTime offsetDateTime = OffsetDateTime.parse(dateTime,formatter);
System.out.println(offsetDateTime);