繁体   English   中英

C#夏令时DateTime开关

[英]C# Daylight saving DateTime switch

每当日光切换发生时,我都会触发事件。

当弹簧/秋天开关正在使用时,我得到了

TimeZone.CurrentTimeZone.GetDaylightChanges(year)

这将返回2个日期时间:1。开始日期时间,即春季转换3.结束日期时间,即秋季转换。

春季前锋运作良好。

但对于秋季,我得到的结束时间是美国中部标准时间早上2点。 因此,当我从CST减去1.59.59 AM时减去一秒钟。 因此事件在一小时后被解雇。 我需要设置1.59.59 CDT的触发器。 如何构建此Datetime?

您希望在时间更改开始之前将其设置为1秒。 转换为UTC,然后减去delta和另一秒。

DateTime fall; //set to 2:00 AM CST
DaylightTime time; //Filled from your GetDaylightChanges() call.
DateTime fallAdjusted = fall.ToUniversalTime().Subtract(time.Delta).AddSeconds(-1);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM