diff options
-rw-r--r-- | Bugzilla/Util.pm | 4 | ||||
-rw-r--r-- | js/field.js | 7 |
2 files changed, 4 insertions, 7 deletions
diff --git a/Bugzilla/Util.pm b/Bugzilla/Util.pm index 4d702f02e..1471295fc 100644 --- a/Bugzilla/Util.pm +++ b/Bugzilla/Util.pm @@ -476,8 +476,8 @@ sub validate_time { my $ts = str2time($time); if ($ts) { $time2 = time2str("%H:%M:%S", $ts); - if (trim($time) =~ /^\d\d:\d\d$/) { - $time .= ':00'; + if ($time =~ /^(\d{1,2}):(\d\d)(?::(\d\d))?$/) { + $time = sprintf("%02d:%02d:%02d", $1, $2, $3 || 0); } } my $ret = ($ts && $time eq $time2); diff --git a/js/field.js b/js/field.js index 97f1cb7a1..ca58329f4 100644 --- a/js/field.js +++ b/js/field.js @@ -85,7 +85,7 @@ function setFieldFromCalendar(type, args, date_field) { // We can't just write the date straight into the field, because there // might already be a time there. - var timeRe = /(\d\d):(\d\d)(?::(\d\d))?/; + var timeRe = /\b(\d{1,2}):(\d\d)(?::(\d\d))?/; var currentTime = timeRe.exec(date_field.value); var d = new Date(setDate[0], setDate[1] - 1, setDate[2]); if (currentTime) { @@ -104,9 +104,6 @@ function setFieldFromCalendar(type, args, date_field) { var dateStr = year + '-' + month + '-' + day; if (currentTime) { - var hours = d.getHours(); - if (hours < 10) hours = '0' + String(hours); - d.setHours(hours); var minutes = d.getMinutes(); if (minutes < 10) minutes = '0' + String(minutes); var seconds = d.getSeconds(); @@ -114,7 +111,7 @@ function setFieldFromCalendar(type, args, date_field) { seconds = '0' + String(seconds); } - dateStr = dateStr + ' ' + hours + ':' + minutes; + dateStr = dateStr + ' ' + d.getHours() + ':' + minutes; if (seconds) dateStr = dateStr + ':' + seconds; } |