summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/fields/field_utils.js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/src/js/fields/field_utils.js')
-rw-r--r--addons/web/static/src/js/fields/field_utils.js10
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) {