zona timezoneinfo horaria hora formato fecha convertir cambiar c# c++ timezone filetime

c# - timezoneinfo - Convierta la hora UTC del servidor a la hora local del cliente



timezone c# (3)

Descripción

Puede convertir un horario UTC a la hora local usando TimeZoneInfo

Muestra

TimeZoneInfo.ConvertTimeFromUtc(YourDateTime, TimeZoneInfo.Local);

Puede convertir un UTC DateTime en cualquier zona horaria, si conoce el nombre. Por ejemplo.

TimeZoneInfo.ConvertTimeFromUtc(YourDateTime, TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"));

Más información

Obtengo de la aplicación nativa del servidor (C ++) una estructura FILETIME en formato UTC. En el lado del cliente administrado (C #), debo mostrarlo como la hora local del cliente (!). ¿Necesito junto con la información de transferencia FILETIME acerca de la zona horaria del servidor para lograr esto? ¿O esa información ya contiene en FILETIME en formato UTC?


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));


No sé cuál es tu estructura, pero si puedes convertirla a una cadena de tiempo estándar, la clase DateTime la analizará. Entonces simplemente use el método ToLocalTime.

DateTime time = DateTime.Parse(FILETIME.ToString()); time.ToLocalTime();