Bug 1068014: skip strptime() in datetime_from() if the date is in a standard format

r=dylan,a=glob


git-svn-id: svn://10.0.0.236/trunk@265577 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
bzrmirror%bugzilla.org
2014-09-18 05:30:47 +00:00
parent c2e1d75cc6
commit dd63c49852
3 changed files with 10 additions and 5 deletions

View File

@@ -1 +1 @@
9139
9140

View File

@@ -1 +1 @@
1bead98c517f658b17d42f2f79d8ce80317a7040
af46080505c3103888846c59551f41e0af823bb1

View File

@@ -552,9 +552,14 @@ sub datetime_from {
# In the database, this is the "0" date.
return undef if $date =~ /^0000/;
# strptime($date) returns an empty array if $date has an invalid
# date format.
my @time = strptime($date);
my @time;
# Most dates will be in this format, avoid strptime's generic parser
if ($date =~ /^(\d{4})[\.-](\d{2})[\.-](\d{2})(?: (\d{2}):(\d{2}):(\d{2}))?$/) {
@time = ($6, $5, $4, $3, $2 - 1, $1 - 1900, undef);
}
else {
@time = strptime($date);
}
unless (scalar @time) {
# If an unknown timezone is passed (such as MSK, for Moskow),