答案 0 :(得分:3)
Lasse的回答是正确的,但可以更简单:
从v1.3起,您可以使用ZonedDateTime.IsDaylightSavingTime
:
var zone = ...;
var now = ..;
var daylight = now.InZone(zone).IsDaylightSavingTime();
从v2.0开始(在撰写本文时尚未发布),您可以使用ZonedClock
使原始转换更简单:
var now = zonedClock.GetCurrentZonedDateTime();
var daylight = now.IsDaylightSavingTime();
答案 1 :(得分:2)
你可以试试这个:
var localTimeZone = DateTimeZoneProviders.Tzdb.GetSystemDefault();
var now = SystemClock.Instance.Now;
var interval = localTimeZone.GetZoneInterval(now);
// inspect interval.Savings