diff --git a/src/js/Rickshaw.Fixtures.Time.Local.js b/src/js/Rickshaw.Fixtures.Time.Local.js index f377ccb1..9999bd26 100644 --- a/src/js/Rickshaw.Fixtures.Time.Local.js +++ b/src/js/Rickshaw.Fixtures.Time.Local.js @@ -15,6 +15,10 @@ Rickshaw.Fixtures.Time.Local = function() { name: 'year', seconds: 86400 * 365.25, formatter: function(d) { return d.getFullYear() } + }, { + name: 'quarter', + seconds: 86400 * 30.5 * 3, + formatter: function(d) { return d.getFullYear() + 'Q' + (d.getMonth() / 3 + 1) } }, { name: 'month', seconds: 86400 * 30.5, @@ -94,7 +98,7 @@ Rickshaw.Fixtures.Time.Local = function() { return rounded.getTime() / 1000; } - if (unit.name == 'month') { + if (unit.name == 'month' || unit.name == 'quarter') { date = new Date(time * 1000); @@ -104,11 +108,10 @@ Rickshaw.Fixtures.Time.Local = function() { year = date.getFullYear(); var month = date.getMonth(); - if (month == 11) { - month = 0; - year = year + 1; - } else { - month += 1; + month += (unit.name == 'month' ? 1 : 2); + if (month >= 12) { + month -= 12; + year += 1; } return new Date(year, month).getTime() / 1000; diff --git a/src/js/Rickshaw.Fixtures.Time.js b/src/js/Rickshaw.Fixtures.Time.js index d2c5e216..ddc0f676 100644 --- a/src/js/Rickshaw.Fixtures.Time.js +++ b/src/js/Rickshaw.Fixtures.Time.js @@ -15,6 +15,10 @@ Rickshaw.Fixtures.Time = function() { name: 'year', seconds: 86400 * 365.25, formatter: function(d) { return d.getUTCFullYear() } + }, { + name: 'quarter', + seconds: 86400 * 30.5 * 3, + formatter: function(d) { return d.getUTCFullYear() + 'Q' + (d.getUTCMonth() / 3 + 1) } }, { name: 'month', seconds: 86400 * 30.5, @@ -78,7 +82,7 @@ Rickshaw.Fixtures.Time = function() { var date, floor, year; - if (unit.name == 'month') { + if (unit.name == 'month' || unit.name == 'quarter') { date = new Date(time * 1000); @@ -88,11 +92,10 @@ Rickshaw.Fixtures.Time = function() { year = date.getUTCFullYear(); var month = date.getUTCMonth(); - if (month == 11) { - month = 0; - year = year + 1; - } else { - month += 1; + month += (unit.name == 'month' ? 1 : 2); + if (month >= 12) { + month -= 12; + year += 1; } return Date.UTC(year, month) / 1000;