java - 如何将 Joda Localdate 转换为 Joda DateTime?

标签 java timezone jodatime

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

我正在尝试的代码相当于将 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上有多种方法为此,包括:

您必须明确说明您希望时间组件在结果 DateTime 对象中的位置,这就是为什么 DateTime 的通用转换构造函数不能去做吧。

关于java - 如何将 Joda Localdate 转换为 Joda DateTime?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4656524/

相关文章:

java - 尝试使用 Apache POI 写入 excel 文件导致 OutOfMemoryError

java - 使用 Java API 绕过垃圾箱从 HDFS 删除文件

java - Java中字符串转换为时间戳时添加夏令时

ubuntu 中的 Java tzupdater + IANA 问题

datetime - Vaadin 和 Joda 日期时间

java - Android,在方法之间传递 LinearLayout、RelativeLayout 和 TextView

java - 解析不同时区的日期

java - JodaTime:解析带有前导连字符的日期

java - 在 joda time 如何在不更改时间的情况下转换时区

java - 无法启动位于上下文路径/HelloWorldStruts2 的应用程序