【问题标题】:Noda: Find out if in daylight saving野田:看看是否在夏令时
【发布时间】:2014-09-20 15:09:00
【问题描述】:

如何确定我当前的当地时间是否由夏令时调整。 基本上相当于NodaTime中的DateTime.Now.IsDaylightSavingTime()

我看到this,但无法翻译给野田...

【问题讨论】:

标签: nodatime


【解决方案1】:

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();

【讨论】:

  • @MalcolmRowe:哦,谢谢。我以为我只在 2.0 中添加了它:)
【解决方案2】:

你可以试试这个:

var localTimeZone = DateTimeZoneProviders.Tzdb.GetSystemDefault();
var now = SystemClock.Instance.Now;
var interval = localTimeZone.GetZoneInterval(now);
// inspect interval.Savings

【讨论】:

  • 谢谢。这样做了: var isDLS = DateTimeZoneProviders.Tzdb.GetSystemDefault().GetZoneInterval(SystemClock.Instance.Now).Savings.Ticks!=0
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-28
  • 1970-01-01
  • 2011-07-26
  • 2014-10-06
  • 2012-07-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多