2016-04-21 56 views

回答

2

試試這個

d3.time.format('%H h : %M min : %S sec')(new Date())

它會格式化這樣

05小時日期:34分:26秒

或者,如果你不」 t像0填充小時做

d3.time.format('%-H h : %M min : %S sec')(new Date())

它將格式化這樣

5小時的時間:37(分鐘):54秒

EDIT

在這樣的情況下,你將需要把如果阻止做檢查並返回所需的格式,如下所示:

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

} 
+1

這有一個不利之處:當我有一段時間低於一個小時,如21258毫秒它轉換爲「1小時:00分鐘:21秒」。只有當它們有價值時,纔有辦法顯示「h」和「min」? – Raggamuffin

+0

檢查我的編輯部分這應該釘它:) – Cyril

+0

Mh我很抱歉,當我使用這個我得到的錯誤:'TypeError:d.getHours是不是一個函數 在d3_time_formats.H(d3js_d3.js?散列= 54da9a2 ...:2643)'。任何線索? – Raggamuffin