Avoid use of POSIX strftime to help with timezones
This commit is contained in:
parent
826b1e5d94
commit
ea0a3643c8
@ -126,6 +126,7 @@ use Webperl::Utils qw(path_join superchomp);
|
||||
use Carp qw(longmess carp);
|
||||
use HTML::WikiConverter;
|
||||
use HTML::Entities;
|
||||
use DateTime;
|
||||
use v5.12;
|
||||
|
||||
use strict;
|
||||
@ -899,12 +900,11 @@ sub ordinal {
|
||||
sub format_time {
|
||||
my $self = shift;
|
||||
my $time = shift;
|
||||
my $format = shift;
|
||||
# Fall back on the default if the user has not set a format.
|
||||
$format = $self -> {"timefmt"} if(!defined($format));
|
||||
my $format = shift // $self -> {"timefmt"};
|
||||
|
||||
my $datestr = strftime($format, localtime($time));
|
||||
$datestr =~ s/(\d+)\s*%o/ordinal($1)/ge;
|
||||
return "" unless($time);
|
||||
my $datestr = eval { DateTime -> from_epoch(epoch => $time, time_zone = $self -> {"tz"} // "Europe/London") -> strftime($format); };
|
||||
return "" if($@);
|
||||
|
||||
return $datestr;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user