有人可以解释DaylightSavingsRule如何拥有“ StartMonth”在它之后“ EndMonth”?

StackOverflow https://stackoverflow.com/questions/824641

  •  05-07-2019
  •  | 
  •  

使用C#(.NET框架),我循环遍历所有TimeZones及其AdjustmentRules ......以及“毛里求斯标准时间”。 {(GMT + 04:00)Port Louis)} - 调整规则如下:

IsFixed = false;
DaylightTransitionStart.Month = 10;
DaylightTransitionEnd.Month = 1;

根据我的理解,'IsFixed = false'表示我使用“StartDate”和“EndDate”字段...但是,我需要使用DaylightTransitionStart和End来动态确定时间是否在白天时间。

这里的问题是,对于大约30个转换规则,“StartMonth”是指“StartMonth”。是在“EndMonth”之后

DaylightSavingsTime 如何在“2008年10月”开始并在“2008年1月”结束?

请帮助我理解这一点......一旦我越过这个障碍,我应该有一个完整的“转换到UTC和任何时区的所有历史记录”。编写SQL函数。

有帮助吗?

解决方案

一段时间在开始之前不能在逻辑上结束,但也许你假设这些月份是指同年的几个月,而事实上OCT可能是在2008年但是JAN是在2009年。

将其视为循环链接列表。

DaylightTime 课程使用 DateTime ,用于夏令时的开始和结束,因此都指定一年。

其他提示

赤道以南的国家不会出现这种情况吗?

Theres这个东西叫做南半球。也许你已经听说过了。

在澳大利亚,夏令时从10月左右开始,到3月左右结束(在拥有它的州)。

可能在南半球,DST从10月开始,在澳大利亚某些地区结束3月结束

两年不同。 例如 09年开始 结束10年

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top