From e9a7efca5027d2d3248a68b963d0e2a7a21ea06b Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Sat, 19 Jan 2013 21:02:57 +1300 Subject: [PATCH] Fixed time zone problem --- src/org/traccar/client/Protocol.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/org/traccar/client/Protocol.java b/src/org/traccar/client/Protocol.java index 1b94c5d..6fc3f66 100644 --- a/src/org/traccar/client/Protocol.java +++ b/src/org/traccar/client/Protocol.java @@ -15,8 +15,10 @@ */ package org.traccar.client; +import java.util.Calendar; import java.util.Formatter; import java.util.Locale; +import java.util.TimeZone; import android.location.Location; @@ -50,8 +52,10 @@ public class Protocol { public static String createLocationMessage(Location l) { StringBuilder s = new StringBuilder("$GPRMC,"); Formatter f = new Formatter(s, Locale.ENGLISH); + Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"), Locale.ENGLISH); + calendar.setTimeInMillis(l.getTime()); - f.format("%1$tH%1$tM%1$tS.%1$tL,A,", l.getTime()); + f.format("%1$tH%1$tM%1$tS.%1$tL,A,", calendar); double lat = l.getLatitude(); double lon = l.getLongitude(); @@ -60,7 +64,7 @@ public class Protocol { double speed = l.getSpeed() * 1.943844; // speed in knots f.format("%.2f,%.2f,", speed, l.getBearing()); - f.format("%1$td%1$tm%1$ty,,", l.getTime()); + f.format("%1$td%1$tm%1$ty,,", calendar); byte checksum = 0; for (byte b : s.substring(1).getBytes()) {