From da1ee58a7ce09def3cb30803ea33f4d437ed1106 Mon Sep 17 00:00:00 2001 From: iliajie Date: Wed, 26 Apr 2023 11:30:53 +0300 Subject: [PATCH] Fix to use offset rather than zone name https://github.com/virtualmin/virtualmin-gpl/issues/552 --- web-lib-funcs.pl | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/web-lib-funcs.pl b/web-lib-funcs.pl index 733c16a7c..b89be2bec 100755 --- a/web-lib-funcs.pl +++ b/web-lib-funcs.pl @@ -1996,14 +1996,21 @@ if (!$@) { my $opts = ref($only) ? $only : {}; my $locale_default = &get_default_system_locale(); my $locale_auto = &parse_accepted_language(); - my $locale_name = $opts->{'locale'} || $gconfig{'locale_'.$remote_user} || $locale_auto || $gconfig{'locale'} || &get_default_system_locale(); + my $locale_name = $opts->{'locale'} || $gconfig{'locale_'.$remote_user} || + $locale_auto || $gconfig{'locale'} || &get_default_system_locale(); my $tz = $opts->{'tz'}; if (!$tz) { eval { - $tz = DateTime::TimeZone->new( name => 'local' )->name(); # Asia/Nicosia + $tz = + DateTime::TimeZone->new(name => strftime("%z", localtime()))->name(); # +0200 }; if ($@) { - $tz = DateTime::TimeZone->new( name => 'UTC' )->name(); # UTC + eval { + $tz = DateTime::TimeZone->new(name => 'local')->name(); # Asia/Nicosia + }; + if ($@) { + $tz = DateTime::TimeZone->new(name => 'UTC')->name(); # UTC + } } } my $locale = DateTime::Locale->load($locale_name);