d3.js中的时间格式不起作用

时间:2015-04-08 16:49:51

标签: d3.js

我使用以下代码获取d3.js中的小时和分钟

e.time=e.time.substring(12,19);
var timeformat=d3.time.format("%H:%M").parse;
e.time2=timeformat(e.time);
console.log(e.time2);

但我的输出结果为空。我的e.time包含以下价值模式

2015-03-29T20:32:24Z
e.time.substring(12,19) returns 20:32:24.

我在做什么错误?

1 个答案:

答案 0 :(得分:0)

你需要做两件事:

  1. 将字符串20:32:24解析为日期。为此用途:

    var timeformat=d3.time.format("%H:%M:%S").parse;
    
  2. 格式化日期,返回有效格式的字符串)在这种情况下hh:mm:

    var hoursandminsformat=d3.time.format("%H:%M");
    
  3. 在这里小提琴:http://jsfiddle.net/henbox/mwvvuazz/

    更好的方法,而不是使用e.time.substring(12,19);,只是使用以下方法解析完整日期对象:

    var ISO8601format=d3.time.format("%Y-%m-%dT%H:%M:%SZ")
    

    然后

    var fomatted_time = hoursandminsformat(ISO8601format.parse("2015-03-29T20:32:24Z"));