根据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
答案 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>