gpt4 book ai didi

javascript - d3时间刻度在时间范围之前和之后添加时间间隔的百分比

转载 作者:行者123 更新时间:2023-11-29 21:54:29 26 4
gpt4 key购买 nike

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

var time_range=d3.time.scale().domain([new Date(2008, 1, 1), new Date(2015, 11, 10)]);

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

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.

最佳答案

您可以使用下面的代码来做到这一点。我认为最好是处理天数而不是月数之间的差异,因为这会让你更准确。但由于您使用的是百分比,所以我真的不认为现阶段的准确性那么重要。

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}
}

这对你有帮助吗?

关于javascript - d3时间刻度在时间范围之前和之后添加时间间隔的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27184654/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com