Shiva Prasad
Shiva Prasad

Reputation: 66

Converting to different timezone using UTC Offset in C#

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

Answers (2)

Shiva Prasad
Shiva Prasad

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

Hina Khuman
Hina Khuman

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

Related Questions