From 35e082d2a57c802c13ed0b39cc2580eb6e53cd9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 8 Mar 2019 18:38:16 +0100 Subject: [PATCH] Evaluate DateTime PYSON in UTC issue8165 review70591002 --- src/pyson.js | 2 +- tests/sao.js | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/pyson.js b/src/pyson.js index 1c8130e1b5..ed4a7c3393 100644 --- a/src/pyson.js +++ b/src/pyson.js @@ -784,7 +784,7 @@ Sao.PYSON.DateTime.eval_ = function(value, context) { var date = Sao.DateTime(value.y, value.M && value.M - 1, value.d, - value.h, value.m, value.s, value.ms && value.ms / 1000); + value.h, value.m, value.s, value.ms && value.ms / 1000, true); if (value.dy) date.add(value.dy, 'y'); if (value.dM) date.add(value.dM, 'M'); if (value.dd) date.add(value.dd, 'd'); diff --git a/tests/sao.js b/tests/sao.js index 1e3090b002..39f6c3989d 100644 --- a/tests/sao.js +++ b/tests/sao.js @@ -826,51 +826,51 @@ eval_ = new Sao.PYSON.Encoder().encode( new Sao.PYSON.DateTime(2010, 1, 12, 10, 30, 20, 0)); QUnit.strictEqual(new Sao.PYSON.Decoder().decode(eval_).valueOf(), - new Date(2010, 0, 12, 10, 30, 20, 0).valueOf()); + new Date(Date.UTC(2010, 0, 12, 10, 30, 20, 0)).valueOf()); eval_ = new Sao.PYSON.Encoder().encode( new Sao.PYSON.DateTime(2010, 1, 12, 10, 30, 20, 0, -1)); QUnit.strictEqual(new Sao.PYSON.Decoder().decode(eval_).valueOf(), - new Date(2009, 0, 12, 10, 30, 20, 0).valueOf()); + new Date(Date.UTC(2009, 0, 12, 10, 30, 20, 0)).valueOf()); eval_ = new Sao.PYSON.Encoder().encode( new Sao.PYSON.DateTime(2010, 1, 12, 10, 30, 20, 0, 0, 12)); QUnit.strictEqual(new Sao.PYSON.Decoder().decode(eval_).valueOf(), - new Date(2011, 0, 12, 10, 30, 20, 0).valueOf()); + new Date(Date.UTC(2011, 0, 12, 10, 30, 20, 0)).valueOf()); eval_ = new Sao.PYSON.Encoder().encode( new Sao.PYSON.DateTime(2010, 1, 12, 10, 30, 20, 0, 0, 0, -7)); QUnit.strictEqual(new Sao.PYSON.Decoder().decode(eval_).valueOf(), - new Date(2010, 0, 5, 10, 30, 20, 0).valueOf()); + new Date(Date.UTC(2010, 0, 5, 10, 30, 20, 0)).valueOf()); eval_ = new Sao.PYSON.Encoder().encode( new Sao.PYSON.DateTime(2010, 1, 12, 10, 30, 20, 0, 0, 0, 0, 12)); QUnit.strictEqual(new Sao.PYSON.Decoder().decode(eval_).valueOf(), - new Date(2010, 0, 12, 22, 30, 20, 0).valueOf()); + new Date(Date.UTC(2010, 0, 12, 22, 30, 20, 0)).valueOf()); eval_ = new Sao.PYSON.Encoder().encode( new Sao.PYSON.DateTime(2010, 1, 12, 10, 30, 20, 0, 0, 0, 0, 0, -30)); QUnit.strictEqual(new Sao.PYSON.Decoder().decode(eval_).valueOf(), - new Date(2010, 0, 12, 10, 0, 20, 0).valueOf()); + new Date(Date.UTC(2010, 0, 12, 10, 0, 20, 0)).valueOf()); eval_ = new Sao.PYSON.Encoder().encode( new Sao.PYSON.DateTime(2010, 1, 12, 10, 30, 20, 0, 0, 0, 0, 0, 0, 30)); QUnit.strictEqual(new Sao.PYSON.Decoder().decode(eval_).valueOf(), - new Date(2010, 0, 12, 10, 30, 50, 0).valueOf()); + new Date(Date.UTC(2010, 0, 12, 10, 30, 50, 0)).valueOf()); eval_ = new Sao.PYSON.Encoder().encode( new Sao.PYSON.DateTime(2010, 1, 12, 10, 30, 20, 0, 0, 0, 0, 0, 0, 0, 2000)); QUnit.strictEqual(new Sao.PYSON.Decoder().decode(eval_).valueOf(), - new Date(2010, 0, 12, 10, 30, 20, 2).valueOf()); + new Date(Date.UTC(2010, 0, 12, 10, 30, 20, 2)).valueOf()); eval_ = new Sao.PYSON.Encoder().encode( new Sao.PYSON.DateTime(2010, 2, 22, 10, 30, 20, 2000)); QUnit.strictEqual(new Sao.PYSON.Decoder().decode(eval_).valueOf(), - new Date(2010, 1, 22, 10, 30, 20, 2).valueOf()); + new Date(Date.UTC(2010, 1, 22, 10, 30, 20, 2)).valueOf()); QUnit.strictEqual(new Sao.PYSON.DateTime(2010, 1, 12, 10, 30, 20, 0, -1, 12, -7, 2, 15, 30, 1).toString(),