我设法在d3 / nvd3图表中显示日期,我这样做会传递一个毫秒的值:
chart.xAxis
.tickFormat(function(d) {
return d3.time.format('%e, %H:%M')(new Date(d))
});
我希望在y轴上显示毫秒作为时间段,例如" 6小时:23分钟:5秒"。
这可能吗?
提前致谢!
莫夫
答案 0 :(得分:2)
试试这个
d3.time.format('%H h : %M min : %S sec')(new Date())
它会像这样格式化日期
05小时:34分钟:26秒
或者,如果你不喜欢0小时的填充
d3.time.format('%-H h : %M min : %S sec')(new Date())
它会像这样格式化日期
5小时:37分钟:54秒
修改强>
在这种情况下,您需要放置一个if块来进行检查并返回所需的格式:
.tickFormat(function(d) {
var date = new Date(d);
if (date.getHours() == 0){
return d3.time.format('%M min : %S sec')(d)
} else {
return d3.time.format('%-H h : %M min : %S sec')(d)
}
}