Evaluate DateTime PYSON in UTC

issue8165
review70591002
This commit is contained in:
Cédric Krier
2019-03-08 18:38:16 +01:00
parent e1aae61d5d
commit 35e082d2a5
2 changed files with 10 additions and 10 deletions
+1 -1
View File
@@ -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');
+9 -9
View File
@@ -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(),