Date d3按100年绘制的日期/时间

Date d3按100年绘制的日期/时间,date,d3.js,plot,Date,D3.js,Plot,有人能帮助初学者d3'er吗?我使用d3创建了一个散点图,它在x轴上显示(文档族的)归档日期,在y轴上显示#族成员。圆点的半径都相同,并按状态进行颜色编码。我有300多条csv文件格式的数据记录,除前4条外,其他所有记录都绘制得非常完美。所有日期都是1900年以后 下面是csv数据集的前9行(我在这里使用了换行符以使其更具可读性)。前4条记录的实际日期为+100年。e、 g.1934年地块为2034年。。。。但是,75年11月3日和其他300人的阴谋都与预期相符。数据来自Excel电子表格,所有

有人能帮助初学者d3'er吗?我使用d3创建了一个散点图,它在x轴上显示(文档族的)归档日期,在y轴上显示#族成员。圆点的半径都相同,并按状态进行颜色编码。我有300多条csv文件格式的数据记录,除前4条外,其他所有记录都绘制得非常完美。所有日期都是1900年以后

下面是csv数据集的前9行(我在这里使用了换行符以使其更具可读性)。前4条记录的实际日期为+100年。e、 g.1934年地块为2034年。。。。但是,75年11月3日和其他300人的阴谋都与预期相符。数据来自Excel电子表格,所有日期单元格的格式都相同,都显示了正确的4位日期年份,没有一个显示为文本字符串而不是日期。Excel中的日期显示格式为dd mmm yy

Num,Word,FilingDate,Status,Type,FamNum
63872,Word1,23-May-34,Removed,Word,2
69105,Word2,19-Oct-36,Registered,Word,1
175164,Word3,31-Jul-62,Registered,Word,6
207804,Word4,1-Feb-67,Registered,Word,6
291765,Word5,3-Nov-75,Registered,Word,12
381067,Word6,15-Sep-82,Removed,Word,2
381069,Word7,15-Sep-82,Removed,Word,2
402936,Word8,27-Jan-84,Removed,Word,2
410476,Word9,20-Jun-84,Removed,Word,2
我在html代码中包含了以下内容,它适用于除前4条记录以外的所有记录

// Parse the date/time
var parseDate = d3.time.format("%d-%b-%y").parse;
有人对可能出现的混乱有什么建议吗?
谢谢。

你需要稍微修改一下才能得到你想要的日期

而不是使用

var parseDate = d3.time.format("%d-%b-%y").parse;
创建一个新函数来解析日期:

var parseDate = function(d){
  var last2 = parseInt(d.slice(-2));
  var date = d3.time.format("%d-%b-%y").parse(d)
  if(last2 < 69){//if year is less than 69 then change the year
          date.setFullYear(1900 + last2);//will generate 1900 date
  }
    return date
}
var parseDate=函数(d){
var last2=parseInt(d.slice(-2));
var date=d3.time.format(“%d-%b-%y”).parse(d)
如果(last2<69){//如果年份小于69,则更改年份
date.setFullYear(1900+last2);//将生成1900日期
}
返回日期
}

这是正确的。不过,如果能看到一个解释和对罪魁祸首的引用,那就太好了:真正让我吃惊的是,它是68,而正常的JS日期使用Unix引用时间戳1970年1月1日。我很好奇是否有人能给我一个解释!谢谢你的回答和评论。我现在已经让图形部分很好地工作了。我有另一个关于工具提示的问题,我将分别发布一个问题。