diff options
Diffstat (limited to 'addons/web/static/src/js/fields/field_utils.js')
| -rw-r--r-- | addons/web/static/src/js/fields/field_utils.js | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/addons/web/static/src/js/fields/field_utils.js b/addons/web/static/src/js/fields/field_utils.js index 5a11f1b0ba8..7da03b023b8 100644 --- a/addons/web/static/src/js/fields/field_utils.js +++ b/addons/web/static/src/js/fields/field_utils.js @@ -109,10 +109,11 @@ function formatDate(value, field, options) { if (value === false) { return ""; } - if (field && field.type === 'datetime') { - if (!options || !('timezone' in options) || options.timezone) { + var fieldType = field && field.type; + if (fieldType === 'datetime' && + (!options || !('timezone' in options)) || + options && options.timezone) { value = value.clone().add(session.getTZOffset(value), 'minutes'); - } } var date_format = time.getLangDateFormat(); return value.format(date_format); @@ -372,6 +373,9 @@ function parseDate(value, field, options) { date = moment.utc(value); } else { date = moment.utc(value, [datePattern, datePatternWoZero, moment.ISO_8601], true); + if (options && options.timezone) { + date.add(-session.getTZOffset(date), 'minutes'); + } } if (date.isValid()) { if (date.year() === 0) { |
