现在无法从服务器日期时间转换为 UTC -11

问题描述 投票:0回答:1

我正在尝试将 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);

没有任何改变

c# datetime utc
1个回答
0
投票

尝试一下:

DateTime now = DateTime.Now;
TimeZoneInfo targetTimeZone = TimeZoneInfo.FindSystemTimeZoneById("UTC-11");
DateTime targetTime = TimeZoneInfo.ConvertTime(now, targetTimeZone);
© www.soinside.com 2019 - 2024. All rights reserved.