在Windows中更改时区不会反映在C#TimeZone调用中

时间:2017-08-23 23:31:10

标签: c# .net timezone

在Windows 7上。我在PST TimeZone中。我将Windows中的时区更改为Eastern,然后在LinqPad中执行此操作:

exports.handler = function(event, context, callback)

enter image description here

enter image description here

为什么没有显示东部时区以及为什么一个结构显示太平洋时区而另一个结构显示东部时区?

1 个答案:

答案 0 :(得分:1)

.NET缓存本地时区。如果您需要确定是否考虑了用户可能做出的更改,则需要在获取当地时区之前致电TimeZoneInfo.ClearCachedData()

来自MSDN文档(强调我的):

  

缓存时区数据包括本地时区数据,协调世界时(UTC)区域以及使用FindSystemTimeZoneByIdGetSystemTimeZones等方法检索的任何时区。

     

您可以调用ClearCachedData方法来减少专用于应用程序的时区信息缓存的内存,或者反映本地系统时区已更改的事实

这可能也适用于LinqPad。