var timeScale = d3.scaleTime() // Minimum value (01/01/16) to maximum value (today). .domain([new Date(2016, 0, 1), new Date()]) .range([0, 100]) .clamp(false); for (var i = 0 ; i < 12 ; i++) { console.log(timeScale(new Date(2016, i, 1))); } // A few milliseconds later. console.log(timeScale(new Date())); // Returns a date. console.log(timeScale.invert(50));