什麼是適當和更簡潔的方式來獲取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