sub parse_datetime {
my $string = shift;
return '' unless $string =~ /\S/;
+ my $tz = shift || 'local';
my $conf = new FS::Conf;
my $format = $conf->config('date_format') || '%m/%d/%Y';
if ( $format eq '%d/%m/%Y' ) { # =~ /\%d.*\%m/ ) {
#$format =~ s/\%//g;
- my $parser = DateTime::Format::Natural->new( 'time_zone' => 'local',
+ my $parser = DateTime::Format::Natural->new( 'time_zone' => $tz,
#'format'=>'d/m/y',#lc($format)
);
$dt = $parser->parse_datetime($string);
$dt->epoch;
}
} else {
- return str2time($string);
+ return str2time($string, $tz);
}
}
my $format = $conf->config('date_format') || '%Y-%m-%d';
my $date_formatter = sub {
- my $time = str2time($_[0], 'GMT');
+ my $time = parse_datetime($_[0], 'GMT');
# exclude times within 24 hours of zero
($time > 86400) ? time2str($format, $time) : '';
};