Jag avkodar NMEA GPRMC meningar från en GPS-enhet. Datumfältformatet är ddmmyy
. Så 191194
är 19 november 1994. Detta gör det omöjligt att representera år som är större än 1999. Har specifikationen ändrats för att kringgå detta problem?
Svar
Dessa meddelanden motsvarar det gamla NMEA 0183 specifikation. Vilken mer än ändrad ersattes av NMEA 2000 , det är väldigt annorlunda och är inte en ascii seriell kommunikation, det är i princip ett helt annat odjur. Men NMEA 0183 används fortfarande och stöds av många enheter. Och det tvåsiffriga året rullar bara över. Därför representeras år 2000 som 00 och 2018 som 18. Här är ett exempel på en bit av NMEA-output inspelat av mig själv för några år sedan:
$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
Du kan se att tidsstämpeln är 090210, vilket verkligen var den 9 februari 2010.
Tack och lov finns det ingen tvetydighet i data eftersom det inte fanns någon GPS eller NMEA redan 1910. Det första NMEA-protokollet var NMEA 0180, med ” 80 ”i” 0180 ”som betyder 1980 ( 3 ), så du kan vara säker på att något värde under 80 motsvarar detta århundrade. Problemen kommer att börja 2080, men tack och lov är det fortfarande långt framåt.
Svar
Eftersom GPS bara startade 1978 du kan antagligen anta att ett datum som är mindre än 78 är under detta århundrade.