mirror of
https://github.com/morrisjs/morris.js.git
synced 2024-09-21 02:31:32 +02:00
Better ISO date support
This commit is contained in:
parent
b3ab944aa8
commit
18b4191093
@ -82,7 +82,7 @@ class Morris.Line
|
|||||||
# translate x labels into nominal dates
|
# translate x labels into nominal dates
|
||||||
# note: currently using decimal years to specify dates
|
# note: currently using decimal years to specify dates
|
||||||
if @options.parseTime
|
if @options.parseTime
|
||||||
@xvals = $.map @columnLabels, (x) => @parseYear x
|
@xvals = $.map @columnLabels, (x) => @parseDate x
|
||||||
else
|
else
|
||||||
@xvals = [(@columnLabels.length-1)..0]
|
@xvals = [(@columnLabels.length-1)..0]
|
||||||
# translate column labels, if they're timestamps
|
# translate column labels, if they're timestamps
|
||||||
@ -370,15 +370,15 @@ class Morris.Line
|
|||||||
tt.remove()
|
tt.remove()
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
parseYear: (date) ->
|
parseDate: (date) ->
|
||||||
if typeof date is 'number'
|
if typeof date is 'number'
|
||||||
return date
|
return date
|
||||||
m = date.match /^(\d+) Q(\d)$/
|
m = date.match /^(\d+) Q(\d)$/
|
||||||
n = date.match /^(\d+)-(\d+)$/
|
n = date.match /^(\d+)-(\d+)$/
|
||||||
o = date.match /^(\d+)-(\d+)-(\d+)$/
|
o = date.match /^(\d+)-(\d+)-(\d+)$/
|
||||||
p = date.match /^(\d+) W(\d+)$/
|
p = date.match /^(\d+) W(\d+)$/
|
||||||
q = date.match /^(\d+)-(\d+)-(\d+) (\d+):(\d+)$/
|
q = date.match /^(\d+)-(\d+)-(\d+)[ T](\d+):(\d+)Z?$/
|
||||||
r = date.match /^(\d+)-(\d+)-(\d+) (\d+):(\d+):(\d+(\.\d+)?)$/
|
r = date.match /^(\d+)-(\d+)-(\d+)[ T](\d+):(\d+):(\d+(\.\d+)?)Z?$/
|
||||||
if m
|
if m
|
||||||
new Date(
|
new Date(
|
||||||
parseInt(m[1], 10),
|
parseInt(m[1], 10),
|
||||||
|
@ -83,7 +83,7 @@
|
|||||||
}
|
}
|
||||||
if (this.options.parseTime) {
|
if (this.options.parseTime) {
|
||||||
this.xvals = $.map(this.columnLabels, function(x) {
|
this.xvals = $.map(this.columnLabels, function(x) {
|
||||||
return _this.parseYear(x);
|
return _this.parseDate(x);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
this.xvals = (function() {
|
this.xvals = (function() {
|
||||||
@ -436,15 +436,15 @@
|
|||||||
return ret;
|
return ret;
|
||||||
};
|
};
|
||||||
|
|
||||||
Line.prototype.parseYear = function(date) {
|
Line.prototype.parseDate = function(date) {
|
||||||
var isecs, m, msecs, n, o, p, q, r, ret, secs;
|
var isecs, m, msecs, n, o, p, q, r, ret, secs;
|
||||||
if (typeof date === 'number') return date;
|
if (typeof date === 'number') return date;
|
||||||
m = date.match(/^(\d+) Q(\d)$/);
|
m = date.match(/^(\d+) Q(\d)$/);
|
||||||
n = date.match(/^(\d+)-(\d+)$/);
|
n = date.match(/^(\d+)-(\d+)$/);
|
||||||
o = date.match(/^(\d+)-(\d+)-(\d+)$/);
|
o = date.match(/^(\d+)-(\d+)-(\d+)$/);
|
||||||
p = date.match(/^(\d+) W(\d+)$/);
|
p = date.match(/^(\d+) W(\d+)$/);
|
||||||
q = date.match(/^(\d+)-(\d+)-(\d+) (\d+):(\d+)$/);
|
q = date.match(/^(\d+)-(\d+)-(\d+)[ T](\d+):(\d+)Z?$/);
|
||||||
r = date.match(/^(\d+)-(\d+)-(\d+) (\d+):(\d+):(\d+(\.\d+)?)$/);
|
r = date.match(/^(\d+)-(\d+)-(\d+)[ T](\d+):(\d+):(\d+(\.\d+)?)Z?$/);
|
||||||
if (m) {
|
if (m) {
|
||||||
return new Date(parseInt(m[1], 10), parseInt(m[2], 10) * 3 - 1, 1).getTime();
|
return new Date(parseInt(m[1], 10), parseInt(m[2], 10) * 3 - 1, 1).getTime();
|
||||||
} else if (n) {
|
} else if (n) {
|
||||||
|
2
morris.min.js
vendored
2
morris.min.js
vendored
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user