例如,当我尝试执行以下操作时.
TimeZoneInfo.FindSystemTimeZoneById("Central European Standard Time")
我收到错误,该错误TimeZone
在本地计算机上不可用.当我在本地运行它可以工作,但我在Windows上运行它.部署时,它在Nginx的Unix机器上运行.我可以看到,FindSystemTimeZoneById
在涉及到Unix时,它正在寻找错误的文件夹.有没有办法让这项工作?
.Net Core使用系统时区.不幸的是,Windows和Linux有不同的时区系统.现在你有两种方式:
使用其他(和通用)时区的命令,如Noda时间
在Windows和IANA时区之间进行翻译
你可以试试看吗?
TimeZoneInfo easternZone; try { easternZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"); } catch (TimeZoneNotFoundException) { easternZone = TimeZoneInfo.FindSystemTimeZoneById("America/New_York"); }
您可以在此处查看IANA时区列表https://en.wikipedia.org/wiki/List_of_tz_database_time_zones