You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As explained in my note about GTFS Time values, with the Europe/Berlin time zone (+1h standard time to +2 DST shift occurs at 2021-03-28T02:00+01:00), I expect
the departure_time of 00:30 of a trip running on 2021-03-28 to happen at 1616884200/2021-03-28T00:30+02:00, not at 1616887800/2021-03-28T00:30+01:00;
the departure_time of 06:30 of a trip running on 2021-03-28 to happen at 1616905800/2021-03-28T06:30+02:00, not at 1616909400/2021-03-28T06:30+01:00.
Describe the bug
I'm very inexperienced with Java and not familiar with this code base, but it seems that TheTransitClock is affected by this problem on those days that the DST <-> standard time switch occurs on.
I'm not sure how that actually manifests in TheTransitClock's output, but I assume that wrong delays will be calculated, or that realtime data can't be matched against static data.
I tried to identify all affected places in the code base:
GTFS Time is not defined relative to midnight, but relative to noon - 12h. While that makes "writing" GTFS feeds easier, it makes processing a lot harder.
Expected functionality
As explained in my note about GTFS Time values, with the
Europe/Berlin
time zone (+1h standard time to +2 DST shift occurs at2021-03-28T02:00+01:00
), I expectdeparture_time
of00:30
of a trip running on2021-03-28
to happen at1616884200
/2021-03-28T00:30+02:00
, not at1616887800
/2021-03-28T00:30+01:00
;departure_time
of06:30
of a trip running on2021-03-28
to happen at1616905800
/2021-03-28T06:30+02:00
, not at1616909400
/2021-03-28T06:30+01:00
.Describe the bug
I'm very inexperienced with Java and not familiar with this code base, but it seems that TheTransitClock is affected by this problem on those days that the DST <-> standard time switch occurs on.
I'm not sure how that actually manifests in TheTransitClock's output, but I assume that wrong delays will be calculated, or that realtime data can't be matched against static data.
I tried to identify all affected places in the code base:
transitime/transitclock/src/main/java/org/transitclock/utils/Time.java
Lines 178 to 182 in 5347c07
transitime/transitclock/src/main/java/org/transitclock/utils/Time.java
Lines 219 to 224 in 5347c07
transitime/transitclock/src/main/java/org/transitclock/utils/Time.java
Lines 239 to 249 in 5347c07
transitime/transitclock/src/main/java/org/transitclock/utils/Time.java
Lines 262 to 272 in 5347c07
transitime/transitclock/src/main/java/org/transitclock/utils/Time.java
Lines 288 to 331 in 5347c07
transitime/transitclock/src/main/java/org/transitclock/utils/Time.java
Lines 365 to 376 in 5347c07
Technically also these are wrong, because they convert a GTFS Time into a human-readable time string:
transitime/transitclock/src/main/java/org/transitclock/utils/Time.java
Lines 598 to 632 in 5347c07
Version:
Just poked around in the
develop
source code.related: google/transit#15
The text was updated successfully, but these errors were encountered: