【发布时间】:2022-10-13 07:41:08
【问题描述】:
我已经在 AWS Lambda 上部署了我的应用程序,但是在获取时区时我收到了这个错误
'The time zone ID 'Pacific Standard Time' was not found on the local computer.'
如何在 lambda 上添加时区。
TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById(userModel.TimeZoneListCode);
【问题讨论】:
-
您使用的是哪个版本的 .NET? “太平洋标准时间”是 Windows 时区数据库 ID;相应的 IANA 将是 America/Los_Angeles。我通常会鼓励您在任何地方使用 IANA ID,但在 .NET 6 中,您应该能够在每个平台上使用任一样式。
-
@JonSkeet TimeZoneInfo.FindSystemTimeZoneById(string) 方法自动接受任一平台上的 Windows 或 IANA 时区,并在需要时进行转换。
-
是的,它确实在 .NET 6 中.它不在旧版本中,这就是为什么我要问您使用的是什么版本的 .NET。例如,如果您使用的是 .NET Core 3.1,则可以解释问题。
-
此外,.NET 6 中的转换仅在 ICU 数据可用(预安装或应用程序本地 ICU)时才有效。我不确定 AWS Lambda 是否有 ICU,TBH。如果没有,您可以使用
America/Los_Angeles,或者如果需要,您可以使用timezoneconverter 进行转换。
标签: c# .net amazon-web-services aws-lambda timezone