我将"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 \ nParameter name:sourceTimeZone“
问题肯定是会议Request.Start没有DateTimeKind所以时区转换无法工作,因为它无法假设它首先从哪个时区转换。
使用DateTime.SpecifyKind来设置它然后它应该工作。