My current time zone is GMT+05:30. & my time zone name is India Standard Time. If the current local time is 2014-03-08 10:31:09.0000000 then by using the below code what I get the output is 30 minutes delayed time. i.e. the time I get from server is 2014-03-08 10:01:09.0000000. How to correct the 30 minutes time difference so that I may get the time which is same as my local time. Can someone correct me if I'm wrong. And please help me clear my error.
string zoneId = "Indian Standard Time";
TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById(zoneId);
DateTime result = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow,tzi);