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

我在 Windows 机器上运行 .NET Core 2.2 应用程序,并且在我处理的代码中的某处运行,TimeZoneInfo因为我需要转换为西班牙时间。

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

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

FROM microsoft/dotnet:2.2-aspnetcore-runtime

谢谢


ABOUTYOU
浏览 162回答 1
1回答

慕妹3146593

这与底层操作系统有关。Windows 与 Linux 一样有另一个时区概念。这Europe/Madrid是一个IANA时区名称。我建议使用相同的底层操作系统或使用TimeZoneConverter来转换时区名称。
打开App,查看更多内容
随时随地看视频慕课网APP