首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >d3时标在时间范围之前和之后添加时间间隔的百分比

d3时标在时间范围之前和之后添加时间间隔的百分比
EN

Stack Overflow用户
提问于 2014-11-28 16:30:46
回答 1查看 168关注 0票数 2

我正在使用d3的time.scale.domain来渲染一些图形。例如:

代码语言:javascript
复制
var time_range=d3.time.scale().domain([new Date(2008, 1, 1), new Date(2015, 11, 10)]);

如何添加+- 10%的时间范围?

代码语言:javascript
复制
function add_percentage(start_date, end_date , percentage){
    //Add 2015 - 2008 => Around 7 years , if percentage = 10 => around 9-10 months before and after 
}
add_percentage(new Date(2008, 1, 1),new Date(2015, 11, 10),10)
//Should return around 9-10 months before and after.
EN

回答 1

Stack Overflow用户

发布于 2014-11-28 17:49:13

您可以使用下面的代码来完成此操作。我认为最好是研究天和月之间的差异,因为这会给你带来更多的准确性。但由于您使用的是百分比,所以我并不真的认为在这个阶段有那么重要的准确性。

代码语言:javascript
复制
function add_percentage(s, e , percentage){
    var t2 = e.getTime();
    var t1 = s.getTime();

    diff= parseInt((t2-t1)/(24*3600*1000))*percentage/100;
    d1=new Date(s.getFullYear(),s.getMonth(),s.getDay()-diff);
    d2=new Date(e.getFullYear(),e.getMonth(),e.getDay()+diff);
    return {start:d1, end:d2}
}

这对你有帮助吗?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27184654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档