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

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

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

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

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

FROM microsoft/dotnet:2.2-aspnetcore-runtime

谢谢

最佳答案

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

关于c# - .NET Core 2.2 本地和 Docker 中的不同时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55847530/

相关文章:

c# - AutoMapper DynamicMap 对象与匿名类型

docker - 在entrypoint命令完成后(启动服务器)在docker容器中运行bash命令

java - Jacoco 代理 - Spring Boot 应用程序的空执行文件

azure - 如何使用 App Insights 关联前端和后端?

c# - 如何按 IEnumerable 属性中的值分组

c# - "Could not load file or assembly ' System.Core, Version=2.0.5.0,...”动态加载可移植类库时出现异常

c# - 在 C# 中编码全局变量

bash - Docker容器- “Docker run”附加bash命令

asp.net-core - asp.net 5(核心 1)日志记录困惑 - 只想查看 "debug"消息

validation - blazor 页面中列表的数据注释