Показать сообщение отдельно
  #13 (permalink)  
Старый 25.12.2021, 07:56
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,742

Строки 198-206 так
holidays.forEach((vm, month) => {
                    for (const day in vm) {
                        let hlds = vm[day];
                        if (!Array.isArray(hlds)) hlds = [hlds];
                        for (const hld of hlds) {
							const [sth, stm=0, sts=0] = (''+hld.start).split(':')
							const [drh, drm=0, drs=0] = (''+hld.duration).split(':')
                            const start = new Date(
                                now.getFullYear(),
                                month,
                                +day,
                                +sth, +stm, +sts
                            ).getTime();
                            const nt = now.getTime()
                            const end = start + ((drh*60+(+drm))*60 +(+drs))*1000;
                            if (start <= nt && nt < end) {
                                result.push(hld.compliments);
                            }
                        }
                    }
                });


start и duration задавать либо числом часов (0, 24 ...)
либо строкой ("7:00", "12:44:56" ...)

Последний раз редактировалось voraa, 25.12.2021 в 07:59.
Ответить с цитированием