mirror of
https://gitlab.com/oeffi/public-transport-enabler.git
synced 2025-07-17 23:29:50 +00:00
Fix timezone for time in departures query (EFA). Thanks to Simon Woker for catching this.
This commit is contained in:
parent
a63f7d727d
commit
c0c033cfcd
2 changed files with 19 additions and 13 deletions
|
@ -20,8 +20,6 @@ package de.schildbach.pte;
|
|||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.nio.charset.Charset;
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Collection;
|
||||
|
@ -1995,9 +1993,6 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
|
|||
protected String xsltTripRequestParameters(final Location from, final Location via, final Location to, final Date date, final boolean dep,
|
||||
final Collection<Product> products, final WalkSpeed walkSpeed, final Accessibility accessibility, final Set<Option> options)
|
||||
{
|
||||
final DateFormat DATE_FORMAT = new SimpleDateFormat("yyyyMMdd", Locale.US);
|
||||
final DateFormat TIME_FORMAT = new SimpleDateFormat("HHmm", Locale.US);
|
||||
|
||||
final StringBuilder uri = new StringBuilder();
|
||||
appendCommonRequestParams(uri, "XML");
|
||||
|
||||
|
@ -2012,8 +2007,16 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
|
|||
if (via != null)
|
||||
appendLocation(uri, via, "via");
|
||||
|
||||
uri.append("&itdDate=").append(ParserUtils.urlEncode(DATE_FORMAT.format(date)));
|
||||
uri.append("&itdTime=").append(ParserUtils.urlEncode(TIME_FORMAT.format(date)));
|
||||
final Calendar c = new GregorianCalendar(timeZone);
|
||||
c.setTime(date);
|
||||
final int year = c.get(Calendar.YEAR);
|
||||
final int month = c.get(Calendar.MONTH) + 1;
|
||||
final int day = c.get(Calendar.DAY_OF_MONTH);
|
||||
final int hour = c.get(Calendar.HOUR_OF_DAY);
|
||||
final int minute = c.get(Calendar.MINUTE);
|
||||
uri.append("&itdDate=").append(ParserUtils.urlEncode(String.format(Locale.ENGLISH, "%04d%02d%02d", year, month, day)));
|
||||
uri.append("&itdTime=").append(ParserUtils.urlEncode(String.format(Locale.ENGLISH, "%02d%02d", hour, minute)));
|
||||
|
||||
uri.append("&itdTripDateTimeDepArr=").append(dep ? "dep" : "arr");
|
||||
|
||||
uri.append("&calcNumberOfTrips=").append(numTripsRequested);
|
||||
|
|
|
@ -711,12 +711,15 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider
|
|||
|
||||
final Calendar c = new GregorianCalendar(timeZone);
|
||||
c.setTime(date);
|
||||
final String dateStr = useIso8601 ? String.format(Locale.ENGLISH, "%04d-%02d-%02d", c.get(Calendar.YEAR), c.get(Calendar.MONTH) + 1,
|
||||
c.get(Calendar.DAY_OF_MONTH)) : String.format(Locale.ENGLISH, "%02d.%02d.%02d", c.get(Calendar.DAY_OF_MONTH),
|
||||
c.get(Calendar.MONTH) + 1, c.get(Calendar.YEAR) - 2000);
|
||||
uri.append("&REQ0JourneyDate=").append(ParserUtils.urlEncode(dateStr));
|
||||
final String timeStr = String.format(Locale.ENGLISH, "%02d:%02d", c.get(Calendar.HOUR_OF_DAY), c.get(Calendar.MINUTE));
|
||||
uri.append("&REQ0JourneyTime=").append(ParserUtils.urlEncode(timeStr));
|
||||
final int year = c.get(Calendar.YEAR);
|
||||
final int month = c.get(Calendar.MONTH) + 1;
|
||||
final int day = c.get(Calendar.DAY_OF_MONTH);
|
||||
final int hour = c.get(Calendar.HOUR_OF_DAY);
|
||||
final int minute = c.get(Calendar.MINUTE);
|
||||
uri.append("&REQ0JourneyDate=").append(
|
||||
ParserUtils.urlEncode(useIso8601 ? String.format(Locale.ENGLISH, "%04d-%02d-%02d", year, month, day) : String.format(Locale.ENGLISH,
|
||||
"%02d.%02d.%02d", day, month, year - 2000)));
|
||||
uri.append("&REQ0JourneyTime=").append(ParserUtils.urlEncode(String.format(Locale.ENGLISH, "%02d:%02d", hour, minute)));
|
||||
|
||||
final StringBuilder productsStr = new StringBuilder(numProductBits);
|
||||
if (products != null)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue