Datetime System.TimeZoneInfo.IsDaylightSavingTime在节点时间中的等效值是多少?
System.TimeZoneInfo有一个名为的方法,该方法接受DateTime对象,如果指定的DateTime位于该时区的DST中,则返回true。是否有一个等效的函数或其他方法来实现相同的结果?您可以从Datetime System.TimeZoneInfo.IsDaylightSavingTime在节点时间中的等效值是多少?,datetime,timezone,dst,nodatime,Datetime,Timezone,Dst,Nodatime,System.TimeZoneInfo有一个名为的方法,该方法接受DateTime对象,如果指定的DateTime位于该时区的DST中,则返回true。是否有一个等效的函数或其他方法来实现相同的结果?您可以从区域间中获得此结果。下面是一个有帮助的扩展方法 public static bool IsDaylightSavingsTime(此ZonedDateTime ZonedDateTime) { var instant=zonedDateTime.ToInstant(); var zoneIn
区域间中获得此结果。下面是一个有帮助的扩展方法
public static bool IsDaylightSavingsTime(此ZonedDateTime ZonedDateTime)
{
var instant=zonedDateTime.ToInstant();
var zoneInterval=ZoneDateTime.Zone.GetZoneInterval(即时);
return zoneInterval.Savings!=Offset.Zero;
}
现在您可以执行以下操作:
zdt.IsDaylightSavingsTime();
如果没有ZonedDateTime
,可以从DateTimeZone
加上Instant
或LocalDateTime
获得。或者,您可以使用此扩展方法将其作为参数
更新:此功能现在包含在Noda Time v1.3及更高版本中,因此您不再需要自己编写扩展方法。我现在添加了一个功能请求,直接将其包含在ZonedDateTime中: