什么是适当和更简洁的方式来获取ZonedDateTime(s),它代表在代码运行的系统上设置的时区中当前日期的开始和结束?野田时间 - 带区域的开始/结束日期
是不是下面的代码太复杂了?
ZonedDateTime nowInZone = SystemClock.Instance.Now.InZone(DateTimeZoneProviders.Bcl.GetSystemDefault());
ZonedDateTime start = new LocalDateTime(nowInZone.Year, nowInZone.Month, nowInZone.Day, 0, 0, 0).InZoneStrictly(DateTimeZoneProviders.Bcl.GetSystemDefault());
ZonedDateTime end = new LocalDateTime(nowInZone.Year, nowInZone.Month, nowInZone.Day, 23, 59, 59).InZoneStrictly(DateTimeZoneProviders.Bcl.GetSystemDefault());
给定这些值,我需要测试他们之间是否有另一个ZonedDateTime。
您可能想使用'InZoneLeniently'来代替。例如,巴西在其DST前沿转型中,从下午11:59到凌晨1点。没有上午12:00。 'InZoneStrictly'会抛出这种情况。 “InZoneLeniently”将在上午12点转换LocalDateTime时(如果我正确阅读文档),将转到凌晨1点。同样在倒退时间从晚上11:59到晚上11点。有两个11:59 pm。 'InZoneLeniently'选择后面的一个。 – 2014-08-29 00:02:35
@mikez - 关于巴西的好处。这已经被我演示的方法所涵盖。谢谢。 – 2014-08-29 04:58:48