Manage microseconds in JSON-RPC

review3671003
This commit is contained in:
Cédric Krier committed 2014-03-15 10:40:46 +01:00
1 parent 82c2aa2d45
commit ad5bb1de41
3 files changed
+24 -11

No files matched your search

+4 -2
View File
@@ -97,7 +97,8 @@
var pad = Sao.common.pad;
return format.replace('%H', pad(date.getHours(), 2))
.replace('%M', pad(date.getMinutes(), 2))
.replace('%S', pad(date.getSeconds(), 2));
.replace('%S', pad(date.getSeconds(), 2))
.replace('%f', pad(date.getMilliseconds(), 3));
};
Sao.common.parse_time = function(format, value) {
@@ -114,7 +115,8 @@
}
return 0;
};
return new Sao.Time(getNumber('%H'), getNumber('%M'), getNumber('%S'));
return new Sao.Time(getNumber('%H'), getNumber('%M'), getNumber('%S'),
getNumber('%f'));
};
Sao.common.format_datetime = function(date_format, time_format, date) {
+7 -4
View File
@@ -112,7 +112,8 @@
case 'datetime':
value = Sao.DateTime(Date.UTC(value.year,
value.month - 1, value.day, value.hour,
value.minute, value.second));
value.minute, value.second,
value.microsecond / 1000));
break;
case 'date':
value = Sao.Date(value.year,
@@ -120,7 +121,7 @@
break;
case 'time':
value = new Sao.Time(value.hour, value.minute,
value.second);
value.second, value.microsecond / 1000);
break;
case 'buffer':
// javascript's atob does not understand linefeed
@@ -174,7 +175,8 @@
'day': value.getUTCDate(),
'hour': value.getUTCHours(),
'minute': value.getUTCMinutes(),
'second': value.getUTCSeconds()
'second': value.getUTCSeconds(),
'microsecond': value.getUTCMilliseconds() * 1000
};
}
if (parent) {
@@ -185,7 +187,8 @@
'__class__': 'time',
'hour': value.getHours(),
'minute': value.getMinutes(),
'second': value.getSeconds()
'second': value.getSeconds(),
'microsecond': value.getMilliseconds()
};
} else if (value instanceof Sao.Decimal) {
value = {
+13 -5
View File
@@ -102,24 +102,26 @@ var Sao = {};
return date;
};
Sao.DateTime = function(year, month, day, hour, minute, second) {
Sao.DateTime = function(year, month, day, hour, minute, second,
millisecond) {
var datetime;
if (year === undefined) {
datetime = new Date();
datetime.setMilliseconds(0);
} else if (month === undefined) {
datetime = new Date(year);
} else {
datetime = new Date(year, month, day,
hour || 0, minute || 0, second || 0);
hour || 0, minute || 0, second || 0, millisecond || 0);
}
datetime.isDateTime = true;
datetime.setMilliseconds(0);
return datetime;
};
Sao.Time = Sao.class_(Object, {
init: function(hour, minute, second) {
this.date = new Date(0, 0, 0, hour, minute, second);
init: function(hour, minute, second, millisecond) {
this.date = new Date(0, 0, 0, hour, minute, second,
millisecond || 0);
},
getHours: function() {
return this.date.getHours();
@@ -139,6 +141,12 @@ var Sao = {};
setSeconds: function(second) {
this.date.setSeconds(second);
},
getMilliseconds: function() {
return this.date.getMilliseconds();
},
setMilliseconds: function(millisecond) {
this.date.setMilliseconds(millisecond);
},
valueOf: function() {
return this.date.valueOf();
}