У меня есть API для поиска информации в определенном интервале
http://localhost/search?query=text&start=1482487711666&end=1482491311666
где start - в миллисекунда от какой даты и времени искать
end - до какой даты и времени
написал функцию в классе поиска:
class Search {
requestTime(typeTime){
let nowDate = new Date();
switch (typeTime){
case "past_hour":
let hour = 60 * 60 * 1000; // 1h = 3600000 ms
return {start: nowDate - hour, end: nowDate};
break;
case "past_24hour":
let day = 60 * 60 * 24 * 1000; // day = 86400000 ms
return {start: nowDate - day, end: nowDate};
break;
case "past_week":
let week = 60 * 60 * 24 * 7 * 1000; // week = 604800000 ms
return {start: nowDate - week, end: nowDate};
break;
case "past_month":
let week = 60 * 60 * 24 * 7 * 1000; // week = 604800000 ms
return {start: nowDate - week, end: nowDate};
break;
case "past_year":
break;
case "past_interval":
break;
}
}
}
Но кажется какой-то велосипед! Нет ли каких то готовых реализаций в стандартном объекте Date? Просто вычитать месяц тупым способом:
let month = 60 * 60 * 24 * 7 * 30 * 1000;
Явно нельзя, ибо в месяце разное количество дней
И год тоже бывает с разным количеством дней (високосный и нет)