GPSデバイスから NMEA GPRMC 文をデコードしています。日付フィールドの形式はddmmyy
です。したがって、191194
は1994年11月19日です。これにより、1999年を超える年を表すことができなくなります。仕様があります。この問題を回避するために修正されましたか?
回答
これらのメッセージは古い NMEA 0183 仕様。修正された以上のものが NMEA 2000 に置き換えられました。これは非常に異なり、asciiシリアル通信ではありません。は基本的に完全に異なる獣ですが、NMEA 0183はまだ使用されており、多くのデバイスでサポートされています。2桁の年はロールオーバーするだけです。したがって、2000年は00、2018年は18として表されます。これはのチャンクの例です。数年前に自分で記録したNMEA出力:
$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
ご覧いただけますタイムスタンプは090210で、実際には2010年2月9日でした。
1910年にはGPSもNMEAもなかったため、データにあいまいさはありません。最初のNMEAプロトコルはNMEA 0180で、「 1980を意味する「0180」の80」( 3 )であるため、80未満の値はすべて今世紀に対応すると確信できます。問題は2080年に始まりますが、ありがたいことに、それはまだ長い道のりです。
回答
GPSのみ 1978年に開始おそらく今世紀は78未満の日付であると想定できます。