我正在实现一个图表以显示每日数据。目前,我只能像这样写静态数据。
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
如何编写函数以从当前日期和时间开始获取该信息。
感谢您的帮助。谢谢
答案 0 :(得分:3)
此函数将从一周中的当前日期开始Mon..Sun
n
天,一次又一次地填充数组:
function populateDateArray(n = 7) {
var daysInAWeek = [ 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' ];
var returnValue = new Array(n);
var currentDay = (new Date().getDay()); //0 = sunday
for (var i = 0; i < n; i++) {
returnValue[i] = daysInAWeek[(currentDay++) % 7];
}
return returnValue;
}
我们要做的是通过执行new Date().getDay()
来获取星期几-这将以数字形式返回日期(0 =星期日,1 =星期一。...6 =星期六)。
此后,我们重复n
次,从daysInAWeek
抓取current day of the week + 1
。通常,这会导致溢出,因此我们将使用此结果的modulo 7
,这将限制0..6
之间的值。
因此,当我们到达星期六时,它将循环回到daysInAWeek
的开头并转到星期日(然后一遍又一遍再次)。
用法:var days = populateDateArray(28); //get 28 days from today