diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2017-03-18 12:05:09 +1300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-03-18 12:05:09 +1300 |
commit | 185dfcb02c504fbceae89ece513e51a630a39870 (patch) | |
tree | 837a2188c44afbe4f5c81d19d295c9495dc70d11 /src/org/traccar/protocol/Gps103ProtocolDecoder.java | |
parent | 8beecc6b90975c972ba76ffbb5a7c975de25530c (diff) | |
parent | 7f6280f725100d446405d5f92ca8bd9435d621f4 (diff) | |
download | trackermap-server-185dfcb02c504fbceae89ece513e51a630a39870.tar.gz trackermap-server-185dfcb02c504fbceae89ece513e51a630a39870.tar.bz2 trackermap-server-185dfcb02c504fbceae89ece513e51a630a39870.zip |
Merge pull request #3018 from jon-stumpf/jss-parse-nextDateTime
Date and time decoding improvements
Diffstat (limited to 'src/org/traccar/protocol/Gps103ProtocolDecoder.java')
-rw-r--r-- | src/org/traccar/protocol/Gps103ProtocolDecoder.java | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/src/org/traccar/protocol/Gps103ProtocolDecoder.java b/src/org/traccar/protocol/Gps103ProtocolDecoder.java index 2f8fe4bba..49f1a2049 100644 --- a/src/org/traccar/protocol/Gps103ProtocolDecoder.java +++ b/src/org/traccar/protocol/Gps103ProtocolDecoder.java @@ -38,12 +38,12 @@ public class Gps103ProtocolDecoder extends BaseProtocolDecoder { .text("imei:") .number("(d+),") // imei .expression("([^,]+),") // alarm - .number("(dd)/?(dd)/?(dd) ?") // local date - .number("(dd):?(dd)(?:dd)?,") // local time + .number("(dd)/?(dd)/?(dd) ?") // local date (yymmdd) + .number("(dd):?(dd)(?:dd)?,") // local time (hhmmss) .expression("([^,]+)?,") // rfid .expression("[FL],") // full / low .groupBegin() - .number("(dd)(dd)(dd).(d+)") // time utc (hhmmss.sss) + .number("(dd)(dd)(dd).d+") // time utc (hhmmss) .or() .number("(?:d{1,5}.d+)?") .groupEnd() @@ -85,8 +85,8 @@ public class Gps103ProtocolDecoder extends BaseProtocolDecoder { .text("imei:") .number("(d+),") // imei .expression("OBD,") // type - .number("(dd)(dd)(dd)") // date - .number("(dd)(dd)(dd),") // time + .number("(dd)(dd)(dd)") // date (yymmdd) + .number("(dd)(dd)(dd),") // time (hhmmss) .number("(d+),") // odometer .number("(d+.d+)?,") // fuel instant .number("(d+.d+)?,") // fuel average @@ -204,11 +204,7 @@ public class Gps103ProtocolDecoder extends BaseProtocolDecoder { } position.setDeviceId(deviceSession.getDeviceId()); - DateBuilder dateBuilder = new DateBuilder() - .setDate(parser.nextInt(), parser.nextInt(), parser.nextInt()) - .setTime(parser.nextInt(), parser.nextInt(), parser.nextInt()); - - getLastLocation(position, dateBuilder.getDate()); + getLastLocation(position, parser.nextDateTime()); position.set(Position.KEY_ODOMETER, parser.nextInt()); parser.next(); // instant fuel consumption @@ -267,7 +263,7 @@ public class Gps103ProtocolDecoder extends BaseProtocolDecoder { String utcHours = parser.next(); String utcMinutes = parser.next(); - dateBuilder.setTime(localHours, localMinutes, parser.nextInt(), parser.nextInt()); + dateBuilder.setTime(localHours, localMinutes, parser.nextInt()); // Timezone calculation if (utcHours != null && utcMinutes != null) { |