【问题标题】:Time Zone conversion Error时区转换错误
【发布时间】:2018-07-26 08:29:34
【问题描述】:

在将 "11-06-2018 17:00:00"{(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi} 转换为 {(UTC-06:00) Central Time (US & Canada)} 时出现此错误:

   StartDate = meetingRequest.Start.ToString(); 
   TimeZone = meetingRequest.TimeZone;

   var AllTimeZones = TimeZoneInfo.GetSystemTimeZones(); 

   foreach (TimeZoneInfo timeZoneInfo in AllTimeZones) { 
     if (timeZoneInfo.ToString() == TimeZone) { 
       TimeZoneInfo ActualTimeZone = timeZoneInfo; 

       var MeetingWindowStartDate = TimeZoneInfo.ConvertTime(
            meetingRequest.Start, 
            ActualTimeZone, 
            service.TimeZone); 
      }

转换无法完成,因为提供的 DateTime 没有正确设置 Kind 属性。例如,当 Kind 属性为 DateTimeKind.Local,源时区必须为 TimeZoneInfo.Local。\r\n参数名称:sourceTimeZone"

【问题讨论】:

  • 请提供相关代码

标签: c# visual-studio timezone date-conversion


【解决方案1】:

问题肯定是 meetingRequest.Start 没有 DateTimeKind 所以时区转换无法工作,因为它不能假设它首先从哪个时区转换。

使用 DateTime.SpecifyKind 设置它然后它应该可以工作。

【讨论】:

    猜你喜欢
    • 2015-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    • 2018-10-13
    • 2019-03-21
    相关资源
    最近更新 更多