【问题标题】:Convert ISO 8061 to YYYY/MM/DD?将 ISO 8061 转换为 YYYY/MM/DD?
【发布时间】:2017-06-15 07:53:07
【问题描述】:

我有这个 ISO 8061 2017-05-03T06:31:46.687123+00:00,我想使用 D3 将其转换为 YYYY-MM-DD。任何帮助将不胜感激。

【问题讨论】:

  • 由于您的问题是关于如何使用 d3.js 来完成此操作,因此我会将其包含在标题中,以供将来会看到它的其他用户使用。
  • @tgogos 不,将标签包含在倾斜中是不受欢迎的 SO:meta.stackexchange.com/questions/19190/…
  • @altocumulus 谢谢,很高兴知道这一点。我的想法是,当您在 SO 中导航时,阅读“如何使用 d3.js 将 ISO 8061 转换为 YYYY/MM/DD?”之类的内容会很有用。

标签: javascript reactjs d3.js


【解决方案1】:

查看momentjs,特别是格式函数:https://momentjs.com/docs/#/displaying/

你可以这样写:

moment("2017-05-03T06:31:46.687123+00:00").format("YYYY-MM-DD");

【讨论】:

    【解决方案2】:

    由于您要使用d3.js...请注意您使用的版本,因为函数名称发生了细微变化:

    • 在 v.3.4.11 中使用 d3.time.format("%Y-%m-%d")
    • 在 v.4.9.1 中使用 d3.timeFormat("%Y-%m-%d")

    3.4.11

    your_date = new Date('2017-05-03T06:31:46.687123+00:00')
    
    var formatTime = d3.time.format("%Y-%m-%d");
    new_date = formatTime( your_date ); // 2017-05-03
    
    console.log(new_date);
    <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>

    4.9.1

    your_date = new Date('2017-05-03T06:31:46.687123+00:00')
    
    var formatTime = d3.timeFormat("%Y-%m-%d");
    new_date = formatTime( your_date ); // 2017-05-03
    
    console.log(new_date);
    <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.9.1/d3.min.js"></script>

    【讨论】:

      【解决方案3】:

      我认为这段代码可以工作,但我还没有测试它,你能测试它并给我反馈吗

      date = new Date('2017-05-03T06:31:46.687123+00:00');
      year = date.getFullYear();
      month = date.getMonth() + 1;
      dt = date.getDate();
      
      if (dt < 10) {
        dt = '0' + dt;
      }
      if (month < 10) {
        month = '0' + month;
      }
      
      console.log(year + '-' + month + '-' + dt);

      你也可以裁剪日期

      dat.toISOString().substring(0, 10)
      

      【讨论】:

      • 您可以使用html / css / js snippet 图标直接添加/测试您的代码
      【解决方案4】:

      当我找到这个库时 - https://date-fns.org/ 我更喜欢它而不是 moment.js。 Date-fns 是模块化的,您只能导入一种方法。与非模块化的 moment.js 相比,这可以显着减小包大小:

      import format from 'date-fns/format';
      format('2017-05-03T06:31:46.687123+00:00', 'YYYY-MM-DD');
      

      【讨论】:

        猜你喜欢
        • 2016-06-21
        • 1970-01-01
        • 1970-01-01
        • 2023-03-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-22
        • 2011-03-18
        相关资源
        最近更新 更多