在 DC.js 中将日期格式化为财政年度

Formatting dates as financial year in DC.js

本文关键字:格式化 日期 DC js      更新时间:2023-09-26

希望这是一个非常简单的问题。 我正在使用 DC.js 和 Crossfilter 显示一些数据,并且需要根据财政年度范围 4 月 1 日至 3 月 31 日绘制年度总计,即 2015 年的总计将涵盖 2015 年 4 月 1 日至 2016 年 3 月 31 日的日期范围。

我创建了一个年份维度,如下所示,尽管这是基于每年 1 月 1 日至 12 月 31 日。 通过搜索 D3/DC/交叉过滤器文档,我找不到任何明显的东西。

要导入的 csv 文件中的日期值采用 YYYYMMDD 格式。

var yearFormat = d3.time.format("%Y");
var yearDim = cf.dimension(function (d) {
    return yearFormat(d.myDateField);
}); 

在本例中,您仅在日期的年份部分制作尺寸。您需要扩展 yearFormat 函数以返回正确的财政年度数字。

var yearFormat = function(date){
    if (date.getMonth < 3){
        return d3.time.format("%Y") - 1;
    } else {
        return d3.time.format("%Y");
    }
}