在d3中处理一些条件格式,需要检查日期是否是世纪之交。 例如,1945年和1998年不是,1900年和2000年是。不知道该怎么做,也许检查一下获得全年并除以 100 是否是一个整数,但这对我来说似乎有点不具体。任何帮助表示赞赏。
间隔是传递给函数的字符串,表示刻度是否为月、年十年等。我想检查日期是否在 if(fulYear(条件下是十年,所以如果全年或日期是世纪
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,那么它是一个世纪。
if ( 1900 % 100 === 0) { //do your job }
这样,您无需检查1900 / 100
是否为整数。