使用C#(.NET框架),我循环遍历所有TimeZones及其AdjustmentRules ......以及“毛里求斯标准时间”{(GMT + 04:00)Port Louis}} - 调整规则是如下:
IsFixed = false;
DaylightTransitionStart.Month = 10;
DaylightTransitionEnd.Month = 1;
根据我的理解,'IsFixed = false'表示我不使用“StartDate”和“EndDate”字段......而是我需要使用DaylightTransitionStart和End to动态确定时间是否在白天时间。
问题在于,对于大约30个转换规则,“StartMonth”是在“EndMonth”之后
DaylightSavingsTime 如何在“2008年10月”开始并在“2008年1月”结束?
请帮助我理解这一点......一旦我越过这个障碍,我应该有一个完整的“转换到UTC的任何时间以及所有历史记录的任何时区”编写的SQL函数。
答案 0 :(得分:5)
一段时间在开始之前不能在逻辑上结束,但也许你假设这些月份是指同年的几个月,而实际上OCT可能是在2008年但是JAN在2009年。
将其视为循环链接列表。
DaylightTime类在夏令时的开始和结束时使用DateTime,因此都指定了一年。
答案 1 :(得分:4)
赤道以南的国家不会出现这种情况吗?
答案 2 :(得分:3)
Theres这个东西叫做南半球。也许你已经听说过了。
在澳大利亚,夏令时从10月左右开始,到3月左右结束(在拥有它的州)。
答案 3 :(得分:2)
可能在南半球,DST从10月开始,在澳大利亚某些地区结束3月结束
答案 4 :(得分:1)
两年不同。 例如 09年开始 结束10年