gpt4 book ai didi

datetime - NodaTime 中 System.TimeZoneInfo.IsDaylightSavingTime 的等效项是什么?

转载 作者:行者123 更新时间:2023-12-04 07:24:46 26 4
gpt4 key购买 nike

System.TimeZoneInfo 有一个方法叫做 IsDaylightSavingTime ,它接受一个 DateTime 对象,如果指定的日期时间落在该时区的 DST 内,则返回 true。 NodaTime中是否有等效的功能或另一种方式来达到相同的结果?

最佳答案

你可以从 ZoneInterval 得到这个.这是一个有用的扩展方法。

public static bool IsDaylightSavingsTime(this ZonedDateTime zonedDateTime)
{
var instant = zonedDateTime.ToInstant();
var zoneInterval = zonedDateTime.Zone.GetZoneInterval(instant);
return zoneInterval.Savings != Offset.Zero;
}

现在你可以这样做:

zdt.IsDaylightSavingsTime();

如果您没有 ZonedDateTime , 你可以从 DateTimeZone 得到一个加上一个 InstantLocalDateTime .或者您可以按摩此扩展方法以将它们作为参数。

更新:此功能现已包含在 Noda Time v1.3 及更高版本中,因此您不再需要自己编写扩展方法。

关于datetime - NodaTime 中 System.TimeZoneInfo.IsDaylightSavingTime 的等效项是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15211052/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com