【问题标题】:gantt chart plot wrong date on xAxis [closed]甘特图在xAxis上绘制错误的日期[关闭]
【发布时间】:2021-05-19 19:39:01
【问题描述】:

我想显示2021年的进度。所以起点是2021-1-1,终点是2021-12-31。

主要代码是:

xAxis: {
  min: Date.UTC(2021, 1, 1),
  max: Date.UTC(2021, 12, 31)
},

但它是从 2021 年 2 月到 2022 年 1 月绘制的。

请看Stackblitz demo.

【问题讨论】:

    标签: angular highcharts gantt-chart


    【解决方案1】:

    经过一番研究,我找到了答案, Javascript Date.UTC() function is off by a month?

    这是因为月份被列为 0-11 范围。

    【讨论】:

      【解决方案2】:

      数组从 0 开始,月份数组也是如此。这意味着第 1 个月是 2 月,而不是 1 月,这有点令人心碎。您可能希望将其更改为:

      xAxis: {
        min: Date.UTC(2021, 0, 1),
        max: Date.UTC(2021, 11, 31)
      },
      

      【讨论】:

      • 我认为这可能是 UTC 的事情。如果您为今天的日期let utcDate = new Date(Date.UTC(2021, 5, 19)); console.log(JSON.stringify(utcDate)); 运行代码,那么它会打印明天的日期。但现在确定如何处理它。
      • 它为我打印“2021-06-19T00:00:00.000Z”...
      • 所以我的问题是为什么会有一天的差异。如果我们理解这一点,那么我们就可以正确设置值而不是猜测它。
      • 打印的是 6 月 19 日,区别是一个月,而不是一天(年-月-日)。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多