Местная дата и время неверны из UTC в C #
I have inserted the date time as UTC format (2019-05-06T17:48:43Z)and while trying to return that and trying to display based on locale it is displaying incorrect date. Could you please assit on this how to handle this type of utc format datetimes to convert as user local time zone.
Что я уже пробовал:
Я пробовал с этим кодом всегда получать время с увеличением на 1 час.
Фактическое время Марокко : 9:10 утра
Но этот код показывает 10:10 утра
string utcLogTimeFromAPI = (String.Format("{0:s}", DateTime.UtcNow) + DateTimeOffset.UtcNow.ToString("%K")); TimeZoneInfo cstZone = TimeZoneInfo.FindSystemTimeZoneById("Morocco Standard Time"); DateTime cstTime = TimeZoneInfo.ConvertTimeFromUtc(Convert.ToDateTime(utcLogTimeFromAPI).ToUniversalTime(), cstZone); Console.WriteLine("cstTime " + cstTime);
Richard MacCutchan
Вы не сказали нам, в чем проблема. Но если действует летнее время, то преобразование местного времени должно быть правильным.
Gerry Schmitz
Похоже, ты преобразования мирового времени UTC
DateTime localTime = TimeZoneInfo.ConvertTimeToUtc(utcDateTime, cstZone);
DGKumar
Я уже пробовал с этим кодом
строка utcLogTimeFromAPI = (строка.Формат("{0:s}", Дата-Время.UtcNow) + DateTimeOffset.UtcNow.ToString("%K"));
TimeZoneInfo cstZone = TimeZoneInfo.FindSystemTimeZoneById("стандартное время Марокко");
DateTime cstTime = TimeZoneInfo.ConvertTimeFromUtc(Конвертировать.ToDateTime(utcLogTimeFromAPI).ToUniversalTime(), cstZone);
Приставка.WriteLine("cstTime" + cstTime);
Но получение дополнительного 1 часа во время показа
Любая вещь, которую я пропустил?