lunes, 10 de febrero de 2014

Obtener fecha y hora GPS de un Mensaje TAIP utilizando C#.

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