Dekoduję zdania NMEA GPRMC z urządzenia GPS. Format pola daty to ddmmyy
. Zatem 191194
to 19 listopada 1994. To uniemożliwia przedstawienie lat dłuższych niż 1999. Czy specyfikacja został poprawiony, aby obejść ten problem?
Odpowiedź
Te wiadomości odpowiadają starym NMEA 0183 . Która bardziej niż zmieniona została zastąpiona przez NMEA 2000 , która jest bardzo różna i nie jest komunikacją szeregową ASCII, jest w zasadzie zupełnie inną bestią. Jednak NMEA 0183 jest nadal używany i obsługiwany przez wiele urządzeń. A dwucyfrowy rok po prostu się zmienia. Dlatego rok 2000 jest reprezentowany jako 00, a 2018 jako 18. Oto przykład fragmentu Wyjście NMEA nagrane przeze mnie kilka lat temu:
$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
Możesz to zobaczyć sygnatura czasowa to 090210, czyli rzeczywiście 9 lutego 2010 r.
Na szczęście dane nie są niejednoznaczne, ponieważ w 1910 r. nie było ani GPS, ani NMEA. Pierwszym protokołem NMEA był NMEA 0180 z opcją „ 80 „w” 0180 „oznacza rok 1980 ( 3 ), więc możesz mieć pewność, że każda wartość poniżej 80 odpowiada obecnemu stuleciu. Problemy zaczną się w 2080 roku, ale na szczęście jest to jeszcze długa droga.
Odpowiedź
Ponieważ tylko GPS rozpoczęte w 1978 roku , prawdopodobnie można założyć, że w tym stuleciu jest jakakolwiek data mniejsza niż 78 lat.