DateTime IsDaylightSavingTime()向后兼容

时间:2019-04-14 14:14:08

标签: c# .net datetime

欧盟有一些国家会在夏季和冬季使用不同的时间来放弃。 as soon as 2021可能会发生这种情况。

System.DateTime是否可以向后兼容来解决此问题?是否知道何时使用DST,何时不使用DST?

// When running in 'FLE Standard Time' on 2023: false (obviously)
var isDayLightSavingTime = new DateTime(2023, 5, 1).IsDaylightSavingTime();

// When running in 'FLE Standard Time' on 2023: true (?)
isDayLightSavingTime = new DateTime(2019, 5, 1).IsDaylightSavingTime();

1 个答案:

答案 0 :(得分:1)

IsDaylightSavingTime method返回特定的DateTime在本地时区的夏令时范围内,该时间由TimeZoneInfo.Local属性返回。

如果此方法返回true的{​​{1}},则意味着所有这些数据都保存在本地时区的DST时间中。由于您提到的是FLE标准时间(通常指Eastern European Time),因此DST在2019年开始于3月31日,结束于10月27日。这就是为什么5月1日将是该时区的夏令时。

  

System.DateTime是否可以向后兼容处理此问题?

可能是。但是目前为止我还不能确定是否“放弃”。可以肯定的是,我非常确定Microsoft将尽快发布数据更新(因为它将是一个巨大的更新),并在其time zone blog中宣布。

在这种情况下,保持操作系统更新很重要。