我有一个文本文件,其中包含一年中的某一天作为列和与之关联的值。
类似这样的事情
day value
59 0.2
60 0.6
63 5.07
这里的日期栏代表一年中的一天,即59 / 365,60 / 365,63 / 365。
dataPoints.push({x: parseFloat(x1), y: parseFloat(y1)});// x1 and y1 are variables containing "59" and "0.2" .
我能够获取这些数据并将它们作为x和y坐标推送,并使用CanvasJS显示折线图。
但我试图在x轴上显示实际日期,以便值对应于特定日期 即3月6日,3月1日,2月28日。
如何将日期转换为实际日期,然后将其传递给dataPoints。
答案 0 :(得分:2)
您可以计算毫秒数并使用函数toLocaleString
来获取月份和日期。
重要:小心闰年。
var day = 59;
var date = new Date(day * 24 * 60 * 60 * 1000); // This will place that date in YEAR 1970.
var options = { month: 'short', day: 'numeric' };
console.log(date.toLocaleString('us', options))
答案 1 :(得分:2)
您可以按如下方式获取一年中某一天的日期:
var dayOfYear = 63;
var initialDate = new Date(2018, 0); // initialized at first day of 2018
var date = new Date(initialDate.setDate(dayOfYear)); // add your dayOfYear