在本地计算机上找不到时区 ID“太平洋标准时间”

Han*_*zal 4 .net c# timezone amazon-web-services aws-lambda

我已在 AWS Lambda 上部署了我的应用程序,但在获取时区时出现此错误

'The time zone ID 'Pacific Standard Time' was not found on the local computer.'
Run Code Online (Sandbox Code Playgroud)

我如何在 lambda 上添加时区。

TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById(userModel.TimeZoneListCode);
Run Code Online (Sandbox Code Playgroud)

Mat*_*int 5

一般来说,如果这样的 Windows 时区不起作用:

TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");
Run Code Online (Sandbox Code Playgroud)

...那么您没有在 Windows 上运行,并且您没有使用 .NET 6 或更高版本,或者您的环境中没有可用的 ICU 数据。无论哪种方式,您都应该能够使用 IANA 时区:

TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById("America/Los_Angeles");
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用TimeZoneConverter来处理任一形式:

TimeZoneInfo tzi = TZConvert.GetTimeZoneInfo("Pacific Standard Time");
Run Code Online (Sandbox Code Playgroud)

或者

TimeZoneInfo tzi = TZConvert.GetTimeZoneInfo("America/Los_Angeles");
Run Code Online (Sandbox Code Playgroud)