Como se comentó en el post anterior, una forma muy sencilla de obtener la fecha y hora GPS locales de un mensaje TAIP es con un método como sigue, el cual recibe como argumentos los 3 campos de tiempo que el mensaje TAIP tiene, además de que se debe importar el paquete System.Globalization:
private String GetDate(string seconds, string day, string week){
//Se crea una instancia del objeto DateTime Inicializado el 6 de Enero de 1980 a las 00:00:00 hrs UTC.
DateTime dT = new DateTime(1980, 1, 6, new GregorianCalendar());
//A la instancia de la fecha anterior se le suman las semanas, el día y los segundos dados por el mensaje TAIP.
dT = new CultureInfo("es-MX").Calendar.AddWeeks(dT,Convert.ToInt32(week)).AddDays(Convert.ToDouble(day)).AddSeconds(Convert.ToDouble(seconds));
//Se convierte esta fecha a UTC-6 y se regresa como string en formato YYYY-MM-DD HH:mm:ss.
return dT.ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss", new CultureInfo("es-MX"));
}
No hay comentarios:
Publicar un comentario