From f0f8ab994d689faa12baa47a94fc9e345be68cdc Mon Sep 17 00:00:00 2001 From: Rolando Isidoro Date: Fri, 1 Aug 2014 09:42:30 +0100 Subject: [PATCH] Use floating timezone when handling dates without hours, minutes and seconds. Content-Type: text/plain; charset="utf-8" http://bugs.koha-community.org/show_bug.cgi?id=12669 --- Koha/DateUtils.pm | 3 ++- Koha/Template/Plugin/KohaDates.pm | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Koha/DateUtils.pm b/Koha/DateUtils.pm index b372a3a..a993ffe 100644 --- a/Koha/DateUtils.pm +++ b/Koha/DateUtils.pm @@ -123,7 +123,8 @@ sub output_pref { return unless defined $dt; - $dt->set_time_zone( C4::Context->tz ); + my $tz = $dateonly ? DateTime::TimeZone->new(name => 'floating') : C4::Context->tz; + $dt->set_time_zone( $tz ); my $pref = defined $force_pref ? $force_pref : C4::Context->preference('dateformat'); diff --git a/Koha/Template/Plugin/KohaDates.pm b/Koha/Template/Plugin/KohaDates.pm index 37d03af..b4c1d8d 100644 --- a/Koha/Template/Plugin/KohaDates.pm +++ b/Koha/Template/Plugin/KohaDates.pm @@ -29,7 +29,10 @@ sub filter { my ( $self, $text, $args, $config ) = @_; return "" unless $text; $config->{with_hours} //= 0; - my $dt = dt_from_string( $text, 'iso' ); + + my $tz = DateTime::TimeZone->new(name => 'floating') unless $config->{with_hours}; + my $dt = dt_from_string( $text, 'iso', $tz ); + return $config->{as_due_date} ? output_pref({ dt => $dt, as_due_date => 1 }) : output_pref({ dt => $dt, dateonly => !$config->{with_hours} }); -- 1.9.1