summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/web/static/src/js/framework/formats.js12
1 files changed, 10 insertions, 2 deletions
diff --git a/addons/web/static/src/js/framework/formats.js b/addons/web/static/src/js/framework/formats.js
index 8a5a8ffedb7..90cecd5398d 100644
--- a/addons/web/static/src/js/framework/formats.js
+++ b/addons/web/static/src/js/framework/formats.js
@@ -164,16 +164,24 @@ function parse_value (value, descriptor, value_if_empty) {
if (datetime.isValid())
return time.datetime_to_str(datetime.toDate());
datetime = moment(value, [date_pattern + ' ' + time_pattern, date_pattern_wo_zero + ' ' + time_pattern_wo_zero, moment.ISO_8601]);
- if (datetime.isValid())
+ if (datetime.isValid()) {
+ if (datetime.year() === 0) {
+ datetime.year(moment.utc().year());
+ }
return time.datetime_to_str(datetime.toDate());
+ }
throw new Error(_.str.sprintf(_t("'%s' is not a correct datetime"), value));
case 'date':
var date = moment(value, [date_pattern, date_pattern_wo_zero, moment.ISO_8601], true);
if (date.isValid())
return time.date_to_str(date.toDate());
date = moment(value, [date_pattern, date_pattern_wo_zero, moment.ISO_8601]);
- if (date.isValid())
+ if (date.isValid()) {
+ if (date.year() === 0) {
+ date.year(moment.utc().year());
+ }
return time.date_to_str(date.toDate());
+ }
throw new Error(_.str.sprintf(_t("'%s' is not a correct date"), value));
case 'time':
var _time = moment(value, [time_pattern, time_pattern_wo_zero, moment.ISO_8601], true);