[英]How to convert Joda Localdate to Joda DateTime?
我想在执行更多计算之前简单地将TimeZone信息添加回LocalDate。 LocalDate来自使用ObjectLab LocalDateCalculator为现有DateTime添加天数,但该方法需要返回一个修改后的ReadableInstant以形成一个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)
我正在寻找一个解决此问题的方法,或者一种解决方法,可以获得具有完整时区信息的准确间隔。
LocalDate
有各种方法,包括:
LocalDate::toDateTimeAtCurrentTime()
LocalDate::toDateTimeAtStartOfDay()
LocalDate::toDateTime( LocalTime )
LocalDate::toDateTime( LocalTime , DateTimeZone )
您必须明确表示您希望时间组件在结果DateTime
对象中的位置,这就是DateTime
的通用转换构造函数无法执行此操作的原因。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.