java 中的会计日期 (ChronoLocalDate) 到即时

AccountingDate (ChronoLocalDate) to Instant in java

我正在使用 AccountingDate implemented into this project

public final class AccountingDate extends AbstractDate implements ChronoLocalDate, Serializable {}

您知道将 AccountingDate 转换为 Instant 或 LocalDate 的方法吗?

由于是计时日期,所以需要经过纪元日

例如喜欢:

AccountingDate accountingDate = ...
LocalDate date = LocalDate.ofEpochDay(accountingDate.toEpochDay())

AccountingDate 实现 ChronoLocalDate,它支持所有基于日期的 ChronoFields,因此它支持 ChronoFields.EPOCH_DAY,因此 LocalDate.from 有效:

LocalDate.from(accountingDate)

要将日期转换为 Instant,您还需要两条信息:

  • 时间
  • 区域偏移

如果我们假设时间是午夜,时区偏移量是 UTC,我们可以这样做:

accountingDate.atTime(LocalTime.MIDNIGHT).atZone(ZoneOffset.UTC).toInstant()