Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.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
.net 时区id到TimeZoneInfo_.net_Datetime_Timezone_Date Conversion - Fatal编程技术网

.net 时区id到TimeZoneInfo

.net 时区id到TimeZoneInfo,.net,datetime,timezone,date-conversion,.net,Datetime,Timezone,Date Conversion,我需要将时间戳从可能不同的时区转换为本地时区。我希望用c# 但是,时间戳附带的时区id类似于EST5EDT,TimeZoneInfo.FindSystemTimeZoneById()似乎无法识别。EST5EDT似乎是一个标识符,因此我认为应该有一些现有代码来处理此类标识符。看起来(事实上,id的来源确实是一个Java程序) 是否有一个c#函数可以将时区id(如EST5EDT)转换为.net TimeZoneInfo,或者是否有一个比TimeZoneInfo.ConvertTime()更好的函数可

我需要将时间戳从可能不同的时区转换为本地时区。我希望用c#

但是,时间戳附带的时区id类似于EST5EDT,TimeZoneInfo.FindSystemTimeZoneById()似乎无法识别。EST5EDT似乎是一个标识符,因此我认为应该有一些现有代码来处理此类标识符。看起来(事实上,id的来源确实是一个Java程序)


是否有一个c#函数可以将时区id(如EST5EDT)转换为.net TimeZoneInfo,或者是否有一个比TimeZoneInfo.ConvertTime()更好的函数可以识别EST5EDT?

也可以识别
“EST5EDT”
是POSIX样式的标识符。它也是为数不多的支持向后兼容的产品之一,但在翻译时,它基本上被视为
“America/New_York”
。如果您有其他更复杂的POSIX时区ID,例如
“CET-1CEST,M3.5.0/2,M10.5.0/3”
,那么我链接的答案对您没有帮助。阅读更多信息。@MattJohnson感谢链接到您的答案。我同意这是一个副本,应该关闭(这显然是我自己无法做到的)。
TimeZoneInfo.ConvertTime(timestamp, TimeZoneInfo.FindSystemTimeZoneById(timeZoneId), TimeZoneInfo.Local);