.NET Core 2.2本地和Docker中的不同时区

时间:2019-04-25 10:47:48

标签: c# docker asp.net-core .net-core

我正在Windows计算机上以及在我处理过TimeZoneInfo的代码中的某个地方运行.NET Core 2.2应用程序,因为我需要转换为西班牙语时间。

我列出了系统中可用的时区信息,并得到了很多,而我感兴趣的是“ Romance Standard Time”。当我在Docker容器上部署到生产环境时,我发现异常,因为未找到该时区。列出容器中可用的时区,我将“ Europe/Madrid”作为所需的时区。我的问题是,是因为我有Windows框,还是以某种方式安装/配置了“旧”或“不同”时区?有没有办法拥有相同的时区集?

作为参考,我正在使用的Docker映像:

FROM microsoft/dotnet:2.2-aspnetcore-runtime

谢谢

1 个答案:

答案 0 :(得分:3)

这与底层操作系统有关。 Windows还有另一个时区概念,如Linux。 Europe/MadridIANA时区名称。 我建议使用相同的基础操作系统或使用TimeZoneConverter转换时区名称。