欧盟有一些国家会在夏季和冬季使用不同的时间来放弃。 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();
答案 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中宣布。
在这种情况下,保持操作系统更新很重要。