我正在尝试将 Datetime.Now 转换为 UTC -11
TimeZoneInfo info = TimeZoneInfo.GetSystemTimeZones().FirstOrDefault(x => x.BaseUtcOffset.ToString() == "-11:00:00");
try
{
DateTime localTime = DateTime.Now;
DateTime utcTime = TimeZoneInfo.ConvertTimeToUtc(localTime, info);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
抛出的异常是: '转换无法完成,因为提供的 DateTime 没有正确设置 Kind 属性。例如,当 Kind 属性为 DateTimeKind.Local 时,源时区必须为 TimeZoneInfo.Local。 参数名称:sourceTimeZone'
我不知道如何解决它 与:
localTime = DateTime.SpecifyKind(localTime, DateTimeKind.Local);
没有任何改变
尝试一下:
DateTime now = DateTime.Now;
TimeZoneInfo targetTimeZone = TimeZoneInfo.FindSystemTimeZoneById("UTC-11");
DateTime targetTime = TimeZoneInfo.ConvertTime(now, targetTimeZone);