我使用下面的代码日期时间转换时区日期时间皈依夏令
TimeZoneInfo timeZone = TimeZoneInfo.FindSystemTimeZoneById(site.TimeZone);
returnTime = TimeZoneInfo.ConvertTime(DateTimeOffset.Parse(time.ToString()), timeZone);
夏令调整为CST时区发生在3月12日之间。在那天,它给出了一个错误,因为
提供的DateTime表示一个无效的时间。例如,当调整时钟向前,被跳过的期间内的任何时间无效
我怎样才能改变我的约会时间转换支持节能日光
'time'的价值是什么,它应该代表CST中的某个时间,还是其他的东西,如UTC? –
您可以通过始终使用UTC工作来解决此问题,并尽可能延迟任何转换至当地时间,以便在当地时间不再尝试进行任何转换/处理。由于每个UTC值*都可以*映射到当地时间(尽管有时会出现模糊的输出),您将永远无法使用无效时间。 –
如果有任何DateTime,则考虑使用DateTimeOffset。 –