我在 Windows 机器上运行 .NET Core 2.2 应用程序,在我处理的代码中的某处 TimeZoneInfo
因为我需要转换成西类牙时间。
我在系统中列出了可用的时区信息并得到了一堆,我感兴趣的是“Romance Standard Time
”。当我在 Docker 容器上部署到生产环境时,我发现我遇到了一个异常,因为没有找到那个时区。列出我得到的容器中可用的时区“Europe/Madrid
”作为我需要的时区。我的问题是,是不是因为我有一个 Windows 机器并且以某种方式安装/配置了“旧”或“不同”时区?有没有办法拥有相同的时区集?
作为引用,我正在使用的 Docker 镜像:
FROM microsoft/dotnet:2.2-aspnetcore-runtime
谢谢
最佳答案
这与底层操作系统有关。 Windows 与 Linux 一样具有另一个时区概念。 Europe/Madrid
是 IANA时区名称。
我建议使用相同的底层操作系统或使用 TimeZoneConverter转换时区名称。
关于c# - .NET Core 2.2 本地和 Docker 中的不同时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55847530/