C# 在C中使用UTC偏移量转换到不同的时区#
我需要使用UTC时间偏移将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
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);