From fb76c6eb57c20177eca19d6fe03a573f378654f8 Mon Sep 17 00:00:00 2001 From: Birte Kristina Friesel Date: Tue, 2 Apr 2024 14:40:15 +0200 Subject: Use service-specific time zones if ≠ Europe/Berlin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/Travel/Status/DE/HAFAS.pm | 8 ++++++-- lib/Travel/Status/DE/HAFAS/Journey.pm | 3 ++- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'lib/Travel/Status') diff --git a/lib/Travel/Status/DE/HAFAS.pm b/lib/Travel/Status/DE/HAFAS.pm index 0017dca..bc1a423 100644 --- a/lib/Travel/Status/DE/HAFAS.pm +++ b/lib/Travel/Status/DE/HAFAS.pm @@ -63,6 +63,7 @@ my %hafas_instance = ( stopfinder => 'https://planner.bart.gov/bin/ajax-getstop.exe', mgate => 'https://planner.bart.gov/bin/mgate.exe', name => 'Bay Area Rapid Transit', + time_zone => 'America/Los_Angeles', productbits => [ [ _ => undef ], [ _ => undef ], @@ -118,6 +119,7 @@ my %hafas_instance = ( 'https://journeyplanner.irishrail.ie/bin/ajax-getstop.exe', mgate => 'https://journeyplanner.irishrail.ie/bin/mgate.exe', name => 'Iarnród Éireann', + time_zone => 'Europe/Dublin', productbits => [ [ _ => undef ], [ ic => 'national trains' ], @@ -215,6 +217,7 @@ my %hafas_instance = ( mgate => 'https://fahrplan.oebb.at/bin/mgate.exe', stopfinder => 'https://fahrplan.oebb.at/bin/ajax-getstop.exe', name => 'Österreichische Bundesbahnen', + time_zone => 'Europe/Vienna', productbits => [ [ ice_rj => 'long distance trains' ], [ sev => 'rail replacement service' ], @@ -328,7 +331,8 @@ sub new { confess("The service '$service' is not supported"); } - my $now = DateTime->now( time_zone => 'Europe/Berlin' ); + my $now = DateTime->now( time_zone => $hafas_instance{$service}{time_zone} + // 'Europe/Berlin' ); my $self = { active_service => $service, arrivals => $conf{arrivals}, @@ -482,7 +486,7 @@ sub new { $self->{strptime_obj} //= DateTime::Format::Strptime->new( pattern => '%Y%m%dT%H%M%S', - time_zone => 'Europe/Berlin', + time_zone => $hafas_instance{$service}{time_zone} // 'Europe/Berlin', ); my $json = $self->{json} = JSON->new->utf8; diff --git a/lib/Travel/Status/DE/HAFAS/Journey.pm b/lib/Travel/Status/DE/HAFAS/Journey.pm index 14530ed..223dc13 100644 --- a/lib/Travel/Status/DE/HAFAS/Journey.pm +++ b/lib/Travel/Status/DE/HAFAS/Journey.pm @@ -94,7 +94,8 @@ sub new { } $datetime_ref = DateTime::Format::Strptime->new( pattern => $parse_fmt, - time_zone => 'Europe/Berlin' + time_zone => $hafas->get_active_service->{time_zone} + // 'Europe/Berlin' )->parse_datetime($date_ref); } -- cgit v1.2.3