Сравнить время и дату включено? - PullRequest
0 голосов
/ 15 марта 2020

У меня есть массив с такими данными:

0: {start: "01:01", end: "16:53", day: "Saturday"}
1: {start: "03:02", end: "14:51", day: "Wednesday"}

Мне нужно сравнить эти данные с текущей датой и временем. Например, , если сегодня воскресенье, я проверяю его с помощью

const isToday = array && array.includes(toDay)

Но мне нужно показать, что следующий день - среда, и если время не между началом и конец, а затем показать true или false.

const isTime = () => {

  const time = moment().format(' h:mm:ss a');

  return staffTimeShift.map((i) => {
      if (i.start < time < i.end) {
        return true
      } else {
        return false
      }
  });

}

1 Ответ

0 голосов
/ 15 марта 2020

Отредактированная версия;

var list = [
    {start: "11:01", end: "21:53", day: "Sunday"},
    {start: "12:01", end: "22:53", day: "Monday"},
    {start: "13:01", end: "23:53", day: "Tuesday"},
    {start: "14:01", end: "22:53", day: "Wednesday"},
    {start: "15:01", end: "21:53", day: "Thursday"},
    {start: "16:01", end: "20:53", day: "Friday"},
    {start: "17:01", end: "19:53", day: "Saturday"},
    {start: "18:02", end: "18:51", day: "Sunday"}
];

var isTime = (obj,time,day) => {
   return (obj.start < time && time < obj.end && obj.day==day);
}

var findInList = (time,day)=>{
     var f;
     list.forEach((a)=>{
           if(f==null && isTime(a,time,day)) f=a;
     });
     return f;
};

попытаться отправить объекты в качестве параметра в функцию;

findInList("15:00","Friday"); // undefined
findInList("15:00","Tuesday"); // {start: "13:01", end: "23:53", day: "Tuesday"}
...