设置/更改.NET应用程序的TimeZone

时间:2009-07-13 15:53:29

标签: .net reflection timezone

有没有办法将.NET应用程序的TimeZone设置为OS的TimeZone以外的值?

例如,我在具有中央标准时间设置的操作系统上使用我的应用程序,我希望该应用程序的行为就像它在东部标准时间,而不必使用方法手动转换我的应用程序中的所有DateTimes喜欢 TimeZoneInfo.ConvertTimeBySystemTimeZoneId()

1 个答案:

答案 0 :(得分:5)

不,我不相信有任何办法可以做到这一点。它不像时区就像文化一样在每个线程的基础上设置。例如,我相信DateTime.ToLocalTime 总是使用系统时区

但是,我不会在任何地方使用TimeZoneInfo.ConvertTimeBySystemTimeZoneId。我会公开一个类型为TimeZoneInfo的属性来表示适当的时区 - 或者设置一个帮助类来转换你需要的地方。

根据您的应用程序,您可能会发现,如果您选择正确的转换数据点(总是只是将其保留在UTC中除了UI层)您没有像预期的那样执行任何转化。

相关问题