找不到类型为java.time.ZoneDateTime的即时转换器
我正在尝试从范围中获取下/上端点,当要获取这些下/上端点时,它会抛出异常,如下所示:找不到类型为java.time.ZoneDateTime的即时转换器,java,date,datetime,jodatime,zoneddatetime,Java,Date,Datetime,Jodatime,Zoneddatetime,我正在尝试从范围中获取下/上端点,当要获取这些下/上端点时,它会抛出异常,如下所示: java.lang.IllegalArgumentException: No instant converter found for type: java.time.ZonedDateTime at org.joda.time.convert.ConverterManager.getInstantConverter(ConverterManager.java:166) at org.joda.
java.lang.IllegalArgumentException: No instant converter found for type: java.time.ZonedDateTime
at org.joda.time.convert.ConverterManager.getInstantConverter(ConverterManager.java:166)
at org.joda.time.base.BaseDateTime.<init>(BaseDateTime.java:171)
at org.joda.time.DateTime.<init>(DateTime.java:257)
您当前正试图通过直接调用构造函数从
ZonedDateTime
转换为DateTime
ZonedDateTime zonedDateTime = ZonedDateTime.now();
DateTime dateTime = new DateTime(zonedDateTime); // will cause IllegalArgumentException
您需要调用其他构造函数来进行此转换:
DateTimeZone dateTimeZone = DateTimeZone.forID(zonedDateTime.getZone().getId()); // extract DateTimeZone separately
new DateTime(zonedDateTime.toInstant().toEpochMilli(), dateTimeZone); // convert using epoch milliseconds
这将允许您进行此转换 您当前正试图通过直接调用构造函数将
ZonedDateTime
转换为DateTime
ZonedDateTime zonedDateTime = ZonedDateTime.now();
DateTime dateTime = new DateTime(zonedDateTime); // will cause IllegalArgumentException
您需要调用其他构造函数来进行此转换:
DateTimeZone dateTimeZone = DateTimeZone.forID(zonedDateTime.getZone().getId()); // extract DateTimeZone separately
new DateTime(zonedDateTime.toInstant().toEpochMilli(), dateTimeZone); // convert using epoch milliseconds
这将允许您进行此转换 不能将ZonedDateTime作为参数传递给DateTime构造函数。这就是这个信息的意思。这回答了你的问题吗?这个范围是一个范围。为什么要从已经是ZonedDateTime的值创建新的ZonedDateTime?直接使用
range.lowerndpoint()
。@JBNizet该死。我是瞎的。谢谢/。无法将ZonedDateTime作为参数传递给DateTime构造函数。这就是这个信息的意思。这回答了你的问题吗?这个范围是一个范围。为什么要从已经是ZonedDateTime的值创建新的ZonedDateTime?直接使用range.lowerndpoint()
。@JBNizet该死。我是瞎的。谢谢/range.lowerEndpoint()
和range.upperEndpoint()
已经是ZoneDateTime
对象。我不确定您试图在编辑中实现什么。range.lowerEndpoint()
和range.upperEndpoint()
已经是ZonedDateTime
对象。我不确定你想在编辑中实现什么。
ZonedDateTime zonedDateTime = ZonedDateTime.now();
DateTime dateTime = new DateTime(zonedDateTime); // will cause IllegalArgumentException
DateTimeZone dateTimeZone = DateTimeZone.forID(zonedDateTime.getZone().getId()); // extract DateTimeZone separately
new DateTime(zonedDateTime.toInstant().toEpochMilli(), dateTimeZone); // convert using epoch milliseconds