Чтобы преобразовать UTC DateTime
в Local DateTime
, вы должны использовать TimeZoneInfo
следующим образом:
DateTime startTimeFormate = x.Startdate; // This is utc date time
TimeZoneInfo systemTimeZone = TimeZoneInfo.Local;
DateTime localDateTime = TimeZoneInfo.ConvertTimeFromUtc(startTimeFormate, systemTimeZone);
Более того, если вы хотите преобразовать UTC DateTime
в пользовательский Local DateTime
, товыполните следующие действия:
string userTimeZoneId = "New Zealand Standard Time";
TimeZoneInfo nzTimeZone = TimeZoneInfo.FindSystemTimeZoneById(userTimeZoneId);
DateTime userLocalDateTime = TimeZoneInfo.ConvertTimeFromUtc(utcDateTime, userTimeZoneId);
Примечание: TimeZone
в .NET
является устаревшим сейчас, и оно устарело.Вместо этого используйте TimeZoneInfo
.