一尘不染

怎么把Joda Localdate转换成Joda DateTime?

java

我试图在执行更多计算之前将TimeZone信息简单地添加回LocalDate中。LocalDate来自使用ObjectLab
LocalDateCalculator将天数添加到现有DateTime中,但是该方法需要返回修改后的ReadableInstant来形成一个Interval,然后可以检查该Interval。

我正在尝试的代码相当于将Joda LocalDate转换为Joda DateTime:

LocalDate contextLocalBusinessDate = calculator.getCurrentBusinessDate();
DateTime businessDateAsInContextLocation = new DateTime(contextLocalBusinessDate, contextTimeZone);

我收到的错误来自Joda的转换系统:

java.lang.IllegalArgumentException: No instant converter found for type: org.joda.time.LocalDate
        at org.joda.time.convert.ConverterManager.getInstantConverter(ConverterManager.java:165)
        at org.joda.time.base.BaseDateTime.<init>(BaseDateTime.java:147)
        at org.joda.time.DateTime.<init>(DateTime.java:192)

我正在寻找解决此问题的方法,或者寻求一种能获得具有完整时区信息的准确间隔的解决方法。


阅读 243

收藏
2020-12-03

共1个答案

一尘不染

有多种方法LocalDate可用于此目的,包括:

您必须明确说明希望时间分量位于结果DateTime对象中的原因,这就是为什么DateTimegeneral-
conversion构造函数无法做到这一点。

2020-12-03