Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么';当我设置当前区域性时,时区是否会改变?_C#_Timezone_Currentculture - Fatal编程技术网

C# 为什么';当我设置当前区域性时,时区是否会改变?

C# 为什么';当我设置当前区域性时,时区是否会改变?,c#,timezone,currentculture,C#,Timezone,Currentculture,根据我的研究,不可能改变线程的时区。所以我的问题是为什么你不能 我原以为,将应用程序的区域性切换到特定的国家也会改变这一点,这在我看来是意料之中的行为 编辑 修改后,我可以看到为什么默认情况下它不应该映射为1:1。但是,我仍然觉得能够更改每个线程的时区是一个不错的功能。它们不是1:1,因此它们没有真正的连接。如果将当前区域性设置为en-US,则是哪个时区?:) 一些国家有不止一个时区,因此设置文化()与时区没有多大关系。文化是一回事,时区是另一回事。假设你是在美国纽约工作的南非公民,显然你希望你

根据我的研究,不可能改变线程的时区。所以我的问题是为什么你不能

我原以为,将应用程序的区域性切换到特定的国家也会改变这一点,这在我看来是意料之中的行为

编辑


修改后,我可以看到为什么默认情况下它不应该映射为1:1。但是,我仍然觉得能够更改每个线程的时区是一个不错的功能。

它们不是1:1,因此它们没有真正的连接。如果将当前区域性设置为
en-US
,则是哪个时区?:)


一些国家有不止一个时区,因此设置文化()与时区没有多大关系。

文化是一回事,时区是另一回事。假设你是在美国纽约工作的南非公民,显然你希望你的时区是美国东部标准时间(GMT-5),因为那是你所在的时区;然而,根据您的建议,如果您也按照您的意愿将您的文化设置为“af-ZA”,那么这样做会自动将您的时区更改为GMT+2。

+1很好!从来没有这样想过。对于那些没有多个时区的应用程序来说,这样做不是一个好主意吗?@James-Nope:)你应该在API中始终保持一致的行为,而不是“在某些情况下如果可以的话”这样做,这会带来麻烦和帮助热线电话。可预测>尽可能多地执行如果CurrentCulture有一个包含时区id的重载,我会很高兴:)@James-Extension method!:)是的,修改后我意识到默认情况下不应该映射它们。不过,如果你也能设置线程的时区,那就太好了。@James:那真是太好了。不过,解决这个问题肯定还有其他方法。例如,您的应用程序是否可以维护自己与UTC的偏移量(可以在运行时修改),并在需要时间的所有地方使用此偏移量?目前,我确实有一个解决方案,可以动态地进行转换。我只是想如果我能改变每个线程的时区并完全消除转换,那会更容易些。+1表示“我仍然觉得能够改变每个线程的时区是一个很好的功能”