Я хотел бы знать, как я могу получить последние 5 лет и последние 10 лет дат из переменной JSON, которая находится в следующем формате.Получить последние 5 лет в переменной JSON - петля
var dates =
"[{\"Date\":\"1996-05-31T00:00:00\"},{"Date\":\"1996-06-30T00:00:00\"},{\"Date\":\"1996-07-31T00:00:00\"},{\"Date\":\"1996-08-31T00:00:00\"},{"Date\":\"1996-09-30T00:00:00\"},{\"Date\":\"1996-10-31T00:00:00\"} ...
{\"Date\":\"2013-08-31T00:00:00\"},{"Date\":\"2013-09-30T00:00:00\"},{\"Date\":\"2013-10-31T00:00:00\"}]"
примечание ... где я остановил все переменные между ними из-за пространства.
Это то, что я до сих пор:
var data = JSON.parse(dates);
var d1 = [] d2 = [], d3 [];
var today = new Date();today.setHours(0,0,0,0);
var last5Years = new Date(today.setFullYear(today.getFullYear() -5)).getTime();
var last10Years = new Date(today.setFullYear(today.getFullYear() - 10)).getTime();
for (i = 0; i < data.length; i++) {
var s = data[i].Date.split('T')[0];
var t = [new Date(s).getTime()];
d1.push(t); // all dates
if (t[0] > last5Years) {
d2.push(t); //push last 5years dates to d2
}
else if (t[0] > last10Years) {
d3.push(t); //push last 10 years dates to d3
}
}
Д2, кажется, работает, но d3 по какой-то причине не является правильным.
Заранее спасибо
Вы хотите, чтобы каждый день в году составлял 5 лет? Или вы хотите время? –
'getTime()' 5 лет назад, и 10 лет назад и сравнить с вашими датами .... кажется довольно простым. – charlietfl
Вы хотите выделить даты из массива данных в 2 категории> 5 и> 10 –