How do I find out if my current local time is adjusted by Daylight Savings or not. Basically the equivalent of DateTime.Now.IsDaylightSavingTime() in NodaTime

I saw this, but could not make the translation to Noda...

有帮助吗?

解决方案

Lasse's answer is correct, but it can be made simpler:

From v1.3 you can use ZonedDateTime.IsDaylightSavingTime:

var zone = ...;
var now = ..;
var daylight = now.InZone(zone).IsDaylightSavingTime();

And from v2.0 (unreleased at the time of writing) you can use ZonedClock to make the original conversion even simpler:

var now = zonedClock.GetCurrentZonedDateTime();
var daylight = now.IsDaylightSavingTime();

其他提示

You can try this:

var localTimeZone = DateTimeZoneProviders.Tzdb.GetSystemDefault();
var now = SystemClock.Instance.Now;
var interval = localTimeZone.GetZoneInterval(now);
// inspect interval.Savings
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top