From 246b6e1b488d9049cc45572f7cde355afe1b38cc Mon Sep 17 00:00:00 2001 From: "andreas.schildbach@gmail.com" Date: Sun, 18 Sep 2011 12:33:05 +0000 Subject: [PATCH] fixed tz conversion of server time git-svn-id: https://public-transport-enabler.googlecode.com/svn/trunk@785 0924bc21-9374-b0fa-ee44-9ff1593b38f0 --- src/de/schildbach/pte/AbstractEfaProvider.java | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/src/de/schildbach/pte/AbstractEfaProvider.java b/src/de/schildbach/pte/AbstractEfaProvider.java index 336a10a2..d8c5f151 100644 --- a/src/de/schildbach/pte/AbstractEfaProvider.java +++ b/src/de/schildbach/pte/AbstractEfaProvider.java @@ -20,7 +20,6 @@ package de.schildbach.pte; import java.io.IOException; import java.io.InputStream; import java.text.DateFormat; -import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; @@ -2156,21 +2155,14 @@ public abstract class AbstractEfaProvider implements NetworkProvider XmlPullUtil.require(pp, "itdRequest"); final String serverVersion = XmlPullUtil.attr(pp, "version"); - final String now = XmlPullUtil.attr(pp, "now") + " " + timeZone().getDisplayName(true, TimeZone.SHORT); + final String now = XmlPullUtil.attr(pp, "now"); final String sessionId = XmlPullUtil.attr(pp, "sessionID"); - final DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss z"); - long serverTime = 0; - try - { - serverTime = format.parse(now).getTime(); - } - catch (final ParseException x) - { - System.out.println("cannot parse time: '" + now + "'"); - } + final Calendar serverTime = new GregorianCalendar(timeZone()); + ParserUtils.parseIsoDate(serverTime, now.substring(0, 10)); + ParserUtils.parseEuropeanTime(serverTime, now.substring(11)); - final ResultHeader header = new ResultHeader(SERVER_PRODUCT, serverVersion, serverTime, sessionId); + final ResultHeader header = new ResultHeader(SERVER_PRODUCT, serverVersion, serverTime.getTimeInMillis(), sessionId); XmlPullUtil.enter(pp, "itdRequest");