在d3中获取ISO周日和一周中的一周

时间:2016-12-17 06:37:27

标签: javascript d3.js

我正在尝试使用d3.js创建日历热图。但我需要在星期一开始工作日,而不是默认日历热图中的星期日。那么有没有办法以ISO格式获得一年中的一周和工作日

 var rect = svg.selectAll(".day")
        .data(function (d) {
            return d3.time.days(new Date(d, 0, 1), new Date(d + 1, 0, 1));
        })
        .enter().append("rect")
        .attr("class", "day")
        .attr("width", cellSize)
        .attr("height", cellSize)
        .attr("x", function (d) {
            return d3.time.weekOfYear(d) * cellSize;
        })
        .attr("y", function (d) {
            return d.getDay() * cellSize;
        }) 

上述代码中计算周日和周年的代码是

 d.getDay() and  d3.time.weekOfYear(d) 

分别

1 个答案:

答案 0 :(得分:1)

根据documentation

  

weekOfYear是sundayOfYear的别名

所以,在我看来,你寻求的解决方案只是改变你现在拥有的东西:

d3.time.sundayOfYear(date) 

为此:

d3.time.mondayOfYear(date)