diff --git a/addons/web/static/src/js/formats.js b/addons/web/static/src/js/formats.js
index cf53d9fb3f084ca2e60da1b6b918bc848c210e99..aa40975e0abc37450049bd48a854a8f9b7550a38 100644
--- a/addons/web/static/src/js/formats.js
+++ b/addons/web/static/src/js/formats.js
@@ -266,7 +266,7 @@ instance.web.parse_value = function (value, descriptor, value_if_empty) {
                     value, (date_pattern + ' ' + time_pattern));
             if (datetime !== null)
                 return instance.web.datetime_to_str(datetime);
-            datetime = Date.parseExact(value.replace(/\d+/g, function(m){
+            datetime = Date.parseExact(value.toString().replace(/\d+/g, function(m){
                 return m.length === 1 ? "0" + m : m ;
             }), (date_pattern + ' ' + time_pattern));
             if (datetime !== null)
@@ -279,7 +279,7 @@ instance.web.parse_value = function (value, descriptor, value_if_empty) {
             var date = Date.parseExact(value, date_pattern);
             if (date !== null)
                 return instance.web.date_to_str(date);
-            date = Date.parseExact(value.replace(/\d+/g, function(m){
+            date = Date.parseExact(value.toString().replace(/\d+/g, function(m){
                 return m.length === 1 ? "0" + m : m ;
             }), date_pattern);
             if (date !== null)