I get from server native (C++) application a FILETIME structure in UTC format. On the managed (C#) client side I need to show it as client(!) local time. Do I need along with FILETIME transfer information about server time zone to accomplish this? Or such information already contains in FILETIME in UTC format?
Asked
Active
Viewed 1.1k times
3 Answers
7
Description
You can convert a UTC DateTime to local Time using TimeZoneInfo
Sample
TimeZoneInfo.ConvertTimeFromUtc(YourDateTime, TimeZoneInfo.Local);
You can convert a UTC DateTime to any timezone, if you know the name. For example.
TimeZoneInfo.ConvertTimeFromUtc(YourDateTime,
TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"));
More Information

dknaack
- 60,192
- 27
- 155
- 202
-
1But how do I found out the client TimeZone? TimeZoneInfo.Local returns the SERVER's. – Joao Leme Jan 25 '13 at 12:40
-
-
0
I don't know what your structure is, but if you can convert it to standard time string, DateTime class will parse it. Then simply use the ToLocalTime method.
DateTime time = DateTime.Parse(FILETIME.ToString());
time.ToLocalTime();

Rubarb
- 85
- 2
0
create a class
public class TimeConverter
{
public static DateTime ConvertToLocalTime(DateTime utcTime, string timeZoneId)
{
if (string.IsNullOrEmpty(timeZoneId))
{
return utcTime;
}
return TimeZoneInfo.ConvertTimeBySystemTimeZoneId(utcTime, timeZoneId);
}
}
In controller use TimeConverter
TimeConverter.ConvertToLocalTime(Date, yourTimeZone));

Sreenath Plakkat
- 1,765
- 5
- 20
- 31