javascript - D3 v4 - 尝试将我的数据文件 '2017-09-19T00:00:00' 中这样格式化的日期转换为更易读的 'Sep 19, 2017'

标签 javascript date d3.js

我正在尝试使用 d3.timeFormat() 将格式如下的日期转换:2017-09-19T00:00:00 转换为更具可读性的:2017 年 9 月 19 日。我尝试了以下多种变体没有运气的代码:

.append('td')
   .text(function (d, i) { 
        if (i === 0) {
           var parseDate = d3.timeFormat("%m %d, %Y");
           return parseDate(d.value)
         }
         else {
            return d.value; 
         }

     });

这是它返回的内容:0NaN NaN NaN。

我猜测我拥有的值是一个字符串,我需要将其转换为日期/时间对象,然后可以根据需要呈现/格式化该对象,但我不知道如何使其工作?话又说回来,我可能是错的,因为我是一名用户体验专家,而不是一名程序员。

非常感谢任何解释我应该如何解决这个问题的帮助。谢谢。

最佳答案

是的,您需要将字符串转换为日期。另外,我认为您需要 %b 表示缩写月份:

var aDate = new Date(d.value)
var parseDate = d3.timeFormat("%b %d, %Y");
console.log("Date: ", parseDate(aDate))

// Prints:
// Date: "Sept 18, 2017"

关于javascript - D3 v4 - 尝试将我的数据文件 '2017-09-19T00:00:00' 中这样格式化的日期转换为更易读的 'Sep 19, 2017',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46571127/

相关文章:

java - 在指定日期用Java安排任务

javascript - jQuery 绑定(bind)对象上的所有事件

mysql - mysql 查询中的 DATE_ADD 问题

R - 使用带有日期的 foverlaps 得到意外结果

node.js - 从node.js加载和修改svg文件

javascript - 选择范围内数字的 ID

javascript - 关系数据库设计到 mongoDB/mongoose 设计

javascript - 检测实际的计算机倾斜

javascript - 动态添加带有 src 的脚本标签,其中可能包含 document.write

javascript - 图表上的动态行数