Хочу сделать диаграмму активности пользователя за прошедшие 7 дней календаря. Никак не могу сообразить как это сделать. Нужно получить массив дат начиная с текущей даты т.е [31.03.2018, 30.03.2018, 29.03.2018 т.д]
let now = new Date();
let time = now.getTime();
now = new Date(time - (time % 86400000));
let arr = [];
let arr2 = [];
for (let i = 0; i < 7; i++, now.setDate(now.getDate() - 1)) {
arr.push(new Date(now.getTime()));
arr2.push(now.getDate() + '.' + (now.getMonth() + 1) + "." + now.getFullYear());
}
console.log(arr2);
console.log(arr);
/**
*
* @param {Number} _n
* @param {String} _date
*/
function getA(_n,_date) {
let now = (_date)
? new Date(_date)
: new Date
let y = now.getFullYear()
let m = now.getMonth()
let d = now.getDate()
let arr = []
for (var i = 0; i < _n; i++) {
let date = new Date
/**
* Sets the year of the Date object using local time.
* @param year A numeric value for the year.
* @param month A zero-based numeric value for the month (0 for January, 11 for December). Must be specified if numDate is specified.
* @param date A numeric value equal for the day of the month.
*/
date.setFullYear(y,m,d - i)
// -->
let res1 = date.toLocaleDateString()
// <--
// -->
let y2 = date.getFullYear()
let m2 = date.getMonth()
m2++ // ©month A zero-based numeric value for the month (0 for January, 11 for December).
let d2 = date.getDate()
if((''+m2).length===1){
m2 = '0'+m2 // добавить ноль в начале
}
if((''+d2).length===1){
d2 = '0'+d2 // добавить ноль в начале
}
let res2 = [
y2,
m2,
d2,
].join('-')// разделитель
// <--
arr.push(res1+' или '+res2)
}
return arr
}
window.addEventListener('load',() => {
let div = document.createElement('div')
getA(7,'01.04.2018').forEach(_str => {
div.innerHTML += '<br>' + _str
})
div.innerHTML += '<br>'
getA(7,'2018 01 04').forEach(_str => {
div.innerHTML += '<br>' + _str
})
div.innerHTML += '<br>'
getA(7).forEach(_str => {
div.innerHTML += '<br>' + _str
})
document.body.appendChild(div)
})
подробнее почитать можно тут:
https://learn.javascript.ru/datetime
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Date
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Знаю, код так себеКак его оптмизировать? Это моя самая долго обрабатываемая команда
Допустим есть компонент Header у которого будет объявлен state: