Reputation: 66
I need to convert to specific time zone from UTC time using UTC time Offset.
I tried as following:
DateTime utcDateTime = DateTime.UtcNow;
TimeSpan offSet = TimeSpan.Parse(timeoffset.ToString());
DateTime newDateTime = utcDateTime.Add(offSet);
But it doesn't adds up the offset with UTC. Is there any other way?
Upvotes: 1
Views: 3229
Reputation: 66
DateTime utcDateTime = DateTime.UtcNow;
TimeSpan offSet = TimeSpan.Parse(timeoffset.ToString());
DateTime newDateTime = utcDateTime.Add(offSet);
instead of using TimeSpan.Parse(timeoffset.ToString());
i used TimeSpan.FromHours((double)offset);
DateTime utcDateTime = DateTime.UtcNow;
TimeSpan offSet = TimeSpan.FromHours((double)offset);
DateTime newDateTime = utcDateTime.Add(offSet);
It worked perfectly fine for me.
Thank You
Upvotes: 1
Reputation: 767
You can do in a simple way, here change time zone as per your requirement.
public static DateTime GetISTDate()
{
DateTime utcDateTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now, TimeZoneInfo.Local);
var ISTtime = TimeZoneInfo.ConvertTimeFromUtc(utcDateTime, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time"));
return ISTtime;
}
Upvotes: 0