Lines 123-129
sub dt_from_string {
Link Here
|
123 |
(?<minute>\d{2}) |
123 |
(?<minute>\d{2}) |
124 |
: |
124 |
: |
125 |
(?<second>\d{2}) |
125 |
(?<second>\d{2}) |
126 |
(\.\d{1,3})?(([Zz])|([\+|\-]([01][0-9]|2[0-3]):[0-5][0-9])) |
126 |
(\.\d{1,3})?(([Zz])|((?<offset>[\+|\-])(?<hours>[01][0-9]|2[0-3]):(?<minutes>[0-5][0-9]))) |
127 |
/xms; |
127 |
/xms; |
128 |
} |
128 |
} |
129 |
elsif ( $date_format eq 'iso' or $date_format eq 'sql' ) { |
129 |
elsif ( $date_format eq 'iso' or $date_format eq 'sql' ) { |
Lines 166-171
sub dt_from_string {
Link Here
|
166 |
second => $+{second}, |
166 |
second => $+{second}, |
167 |
); |
167 |
); |
168 |
$ampm = $+{ampm}; |
168 |
$ampm = $+{ampm}; |
|
|
169 |
if ( $+{offset} ) { |
170 |
$tz = DateTime::TimeZone->new( name => $+{offset} . $+{hours} . $+{minutes} ); |
171 |
} |
169 |
} elsif ( $date_string =~ $fallback_re ) { |
172 |
} elsif ( $date_string =~ $fallback_re ) { |
170 |
%dt_params = ( |
173 |
%dt_params = ( |
171 |
year => $+{year}, |
174 |
year => $+{year}, |
Lines 202-208
sub dt_from_string {
Link Here
|
202 |
DateTime->new( |
205 |
DateTime->new( |
203 |
%dt_params, |
206 |
%dt_params, |
204 |
# No TZ for dates 'infinite' => see bug 13242 |
207 |
# No TZ for dates 'infinite' => see bug 13242 |
205 |
( $dt_params{year} < 9999 ? ( time_zone => $tz->name ) : () ), |
208 |
( $dt_params{year} < 9999 ? ( time_zone => $tz ) : () ), |
206 |
); |
209 |
); |
207 |
}; |
210 |
}; |
208 |
if ($@) { |
211 |
if ($@) { |
Lines 210-216
sub dt_from_string {
Link Here
|
210 |
$dt = DateTime->new( |
213 |
$dt = DateTime->new( |
211 |
%dt_params, |
214 |
%dt_params, |
212 |
# No TZ for dates 'infinite' => see bug 13242 |
215 |
# No TZ for dates 'infinite' => see bug 13242 |
213 |
( $dt_params{year} < 9999 ? ( time_zone => $tz->name ) : () ), |
216 |
( $dt_params{year} < 9999 ? ( time_zone => $tz ) : () ), |
214 |
); |
217 |
); |
215 |
} |
218 |
} |
216 |
return $dt; |
219 |
return $dt; |
217 |
- |
|
|