Estou decodificando NMEA GPRMC sentenças de um dispositivo GPS. O formato do campo de data é ddmmyy
. Portanto, 191194
é 19 de novembro de 1994. Isso torna impossível representar anos posteriores a 1999. Tem a especificação foi corrigido para contornar este problema?
Resposta
Essas mensagens correspondem ao antigo Especificação NMEA 0183 . Que mais do que alterada foi substituída por NMEA 2000 , que é muito diferente e não é uma comunicação serial ASCII, é basicamente uma besta completamente diferente. No entanto, NMEA 0183 ainda está em uso e é compatível com muitos dispositivos. E o ano de dois dígitos é acumulado. Portanto, o ano de 2000 é representado como 00 e 2018 como 18. Aqui está um exemplo de um pedaço de Saída NMEA gravada por mim há alguns anos:
$SDMTW,8.8,C*34 $SDVHW,,,,,0.00,N,0.00,K*5B $GPRMC,190430,A,4812.3038,S,07330.7690,W,3.7,3.8,090210,13.7,E,D*26 $GPRMB,A,,,,,,,,,,,,A,D*0E $GPGGA,190430,4812.3038,S,07330.7690,W,2,06,2.5,4.9,M,12.4,M,,*42 $GPGLL,4812.3038,S,07330.7690,W,190430,A,D*4A
Você pode ver que o carimbo de data / hora é 090210, que era de fato 9 de fevereiro de 2010.
Felizmente, não há ambigüidade nos dados porque não havia GPS nem NMEA em 1910. O primeiro protocolo NMEA era NMEA 0180, com o ” 80 “em” 0180 “significando 1980 ( 3 ), então você pode ter certeza de que qualquer valor abaixo de 80 corresponde a este século. Os problemas começarão em 2080, mas, felizmente, ainda há um longo caminho pela frente.
Resposta
Visto que apenas GPS começou em 1978 , você provavelmente pode assumir que qualquer data inferior a 78 é neste século.