将ZonedDateTime转换为带区域的日期表示形式

本文关键字:日期 表示 区域 ZonedDateTime 转换 | 更新日期: 2023-09-27 18:21:25

我想用关联的区域来表示日期,但我没有找到任何类型来表示Noda时间中的日期(类似于LocalDate,但有区域信息,所以最好有ZonedDate结构)。如何存储特定ZonedDateTime的日期?

例如:我有一个类型为ZonedDateTime=2015/11/11凌晨1:30的结构,我想用ZonedDateTime中的TimeZone存储这次的日期部分(2015/11/11)。

将ZonedDateTime转换为带区域的日期表示形式

我建议您构建自己的类或结构,只包含两个类或结构-或者使用Tuple<LocalDate, DateTimeZone>。目前在Noda Time中没有具体的内容,除非我们听到这是一个更广泛的功能请求,否则我不希望添加它。

另一种选择是只使用ZonedDateTime,并在需要时从中提取日期,为了进行平等测试,可能会将其标准化为"一天的开始"(例如通过DateTimeZone.AtStartOfDay(LocalDate))。但我个人对此避而不谈,因为这意味着一天中有一个有用的时间存储在那里,而在你的情况下却没有。