Excel 中的日期时间保存为自 1900-01-01 以来的天数(+1,因为它认为 1900-02-29 发生了)。数字中的分数是一天中的时间偏移量。
这个数字没有时区的概念。因此,在您打开电子表格的时区中,12.5 是 1900-01-12T12:00:00。在科罗拉多州打开它,它会显示中午。在德国打开它,它显示中午。这不是瞬间,而是 LocalDateTime。
对于我们将所有内容存储为 OffsetDateTime 或 ZonedDateTime (取决于日期时间如何传递给我们)的系统,我认为做的合乎逻辑的事情是从中创建一个 ZonedDateTime。
这导致了一个问题,如何在本地时区创建一个 ZonedDateTime,设置为此 Excel 日期时间数字?