D3日期格式抛出'd.getFullYear不是函数'

时间:2016-01-06 20:23:48

标签: javascript d3.js

根据the docs

  • %y - 没有世纪的年份,十进制数[00,99]。
  • %b - 缩写的月份名称。
  • %d - 每月零填充日作为十进制数[01,31]。

所以我认为这应该正确解析到2009年12月26日:

var date = d3.time.format('%y-%b-%d')('09-Dec-26');

...而是抛出异常:

Uncaught TypeError: d.getFullYear is not a function

1 个答案:

答案 0 :(得分:1)

尝试添加.parse

var date = d3.time.format('%y-%b-%d').parse('09-Dec-26');

d3.time.format的返回不是函数,因此您不能只使用其他参数调用它。相反,它是一个可以调用方法的对象。其中一种方法是.parse

var date = d3.time.format('%y-%b-%d').parse('09-Dec-26');
document.querySelector("#date").textContent = date
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
<div id="date"></div>