在d3中处理一些条件格式并需要检查日期是否是一个世纪之交。例如1945年和1998年不是,1900年和2000年都是。不确定如何去做,也许检查看看是否获得全年并除以100是一个整数,但这对我来说似乎有点不具体。任何帮助表示赞赏。
interval是传递给函数的字符串,表示tick是否是月,十年等。我想检查if(fulYear)条件下的日期是否为十年,所以如果fullYear或date是一个世纪
function tickFormat(interval) {
return {
"decade":d3.timeFormat("%y"),
"lustrum":d3.timeFormat("%y"),
"years":function(d) {
if (fullYear) {
format=d3.timeFormat("%Y")
return format(d)
}
else {
format=d3.timeFormat("%y");
return format(d)
}
},
"quarters":d3.timeFormat("%b"),
"months":d3.timeFormat("%b"),
"weeks":d3.timeFormat("%b"),
"days":d3.timeFormat("%d"),
"hours":d3.timeFormat("%I"+":00")
}[interval]
}
答案 0 :(得分:4)
使用提醒操作员 - %
。这将返回分部的提醒,如果它为0则为一个世纪。
if ( 1900 % 100 === 0) { //do your job }
这样您就不需要检查1900 / 100
是否为整数。