Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
找不到类型为java.time.ZoneDateTime的即时转换器_Java_Date_Datetime_Jodatime_Zoneddatetime - Fatal编程技术网

找不到类型为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