【发布时间】:2020-04-10 10:48:29
【问题描述】:
在下面的代码中,我的“if”比较中出现错误。消息显示“isBefore(java.time.chrono.ChronoZonedDateTime<?>) in ChronoZonedDateTime cannot be applied to (java.time.LocalDate)”。如何将 LocalDate 转换为ChronoZonedDateTime?
LocalDate taxBegin = tax.getBeginAt();
if(contract.getBeginAt().isBefore(taxBegin)){
//do something
}
我尝试像 ChronoZonedDateTime.from(taxBegin) 一样包装,但没有成功,它给了我“DateTimeException: Unable to obtain ZoneId from TemporalAccessor: 2019-12-01 of type java.time.LocalDat”
【问题讨论】:
-
什么是
contract变量,什么是getBeginAt()返回? -
换个方式试试
contract.getBeginAt().toLocalDate().isBefore(taxBegin) -
卡罗尔,contract.getBeginAt() 返回一个 ZonedDateTime 值
-
您的合同是否真的在一天中的特定时间开始?如果是这样,这是在特定时区中指定的,还是作为 Unix 时间指定的?
-
Sunil,我试过你说的,它成功了!谢谢!如果您发布为答案,我将标记为正确的
标签: java date datetime localdate datetime-conversion