C# 在C中使用UTC偏移量转换到不同的时区#

C# 在C中使用UTC偏移量转换到不同的时区#,c#,asp.net-mvc,C#,Asp.net Mvc,我需要使用UTC时间偏移将UTC时间转换为特定时区 我尝试了以下方法: DateTime utcDateTime = DateTime.UtcNow; TimeSpan offSet = TimeSpan.Parse(timeoffset.ToString()); DateTime newDateTime = utcDateTime.Add(offSet); 但它不会将偏移量与UTC相加。 还有其他方法吗?您可以用一种简单的方法,这里根据您的要求更改时区 public static Da

我需要使用UTC时间偏移将UTC时间转换为特定时区

我尝试了以下方法:

 DateTime utcDateTime = DateTime.UtcNow;
 TimeSpan offSet = TimeSpan.Parse(timeoffset.ToString());
 DateTime newDateTime = utcDateTime.Add(offSet);
但它不会将偏移量与UTC相加。
还有其他方法吗?

您可以用一种简单的方法,这里根据您的要求更改时区

public static DateTime GetISTDate()
{
     DateTime utcDateTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now, TimeZoneInfo.Local);
     var ISTtime = TimeZoneInfo.ConvertTimeFromUtc(utcDateTime, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time"));
     return ISTtime;
} 
而不是使用
TimeSpan.Parse(timeoffset.ToString())我使用了
TimeSpan.FromHours((双)偏移量)

这对我来说非常好


谢谢

我无法使用TimeZoneInfo.FindSystemTimeZoneById,因为我不知道时区id。我正在以DB存储UTCOffset时间,并从中读取。@ShivaPrasad:似乎您正在尝试以偏移量为基础获取日期时间。@ShivaPrasad:那么您需要这样做:
utcDateTime+offSet
 DateTime utcDateTime = DateTime.UtcNow;
 TimeSpan offSet = TimeSpan.Parse(timeoffset.ToString());
 DateTime newDateTime = utcDateTime.Add(offSet);
  DateTime utcDateTime = DateTime.UtcNow;
     TimeSpan offSet = TimeSpan.FromHours((double)offset);
     DateTime newDateTime = utcDateTime.Add(offSet);