diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Travel/Status/DE/HAFAS/Journey.pm | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/lib/Travel/Status/DE/HAFAS/Journey.pm b/lib/Travel/Status/DE/HAFAS/Journey.pm index f364ceb..5549934 100644 --- a/lib/Travel/Status/DE/HAFAS/Journey.pm +++ b/lib/Travel/Status/DE/HAFAS/Journey.pm @@ -89,17 +89,21 @@ sub new { } } - my $date_ref = ( split( qr{[|]}, $jid ) )[4]; - if ( length($date_ref) < 7 ) { - warn("HAFAS, not even once -- midnight crossing may be bogus"); - } - if ( length($date_ref) == 7 ) { - $date_ref = "0${date_ref}"; + my $datetime_ref; + + if ( @{ $journey->{stopL} // [] } or $journey->{stbStop} ) { + my $date_ref = ( split( qr{[|]}, $jid ) )[4]; + if ( length($date_ref) < 7 ) { + warn("HAFAS, not even once -- midnight crossing may be bogus"); + } + if ( length($date_ref) == 7 ) { + $date_ref = "0${date_ref}"; + } + $datetime_ref = DateTime::Format::Strptime->new( + pattern => '%d%m%Y', + time_zone => 'Europe/Berlin' + )->parse_datetime($date_ref); } - my $datetime_ref = DateTime::Format::Strptime->new( - pattern => '%d%m%Y', - time_zone => 'Europe/Berlin' - )->parse_datetime($date_ref); my $class = $product->{cls}; |