Manage microseconds in JSON-RPC
review3671003
This commit is contained in:
1 parent
82c2aa2d45
commit
ad5bb1de41
3 files changed
+24
-11
No files matched your search
+4
-2
@@ -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
@@ -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
@@ -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();
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user