@panikev

Как создать динамическое расписание?

Здравствуйте! Подскажите пожалуйста как на javaScript реализовать динамически отображаемое расписание? Есть массив строковых элементов со временем, хочется реализовать отображение элементов массива позднее текущего времени. На ум приходит только поочередное сравнение часов и минут с реальным... Затрудняюсь сказать, насколько это правильно... Может есть что-то более изящное? Спасибо
  • Вопрос задан
  • 172 просмотра
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
строковых элементов со временем

Их придётся преобразовать в объекты Date или лучше сразу в целые числа миллисекунд с Unix epoch. С целыми и работать потом.
var s = "2018-08-02 12:56";
var d = new Date(s); // объект Date в текущем часовом поясе браузера
+d // 1533203760000

Так составить массив с целочисленными полями:
[
  { ts: 1533203760000, title: "сварить кофе" },
  { ts: 1533203780000, title: "съесть булочку" },
]

Удалить все прошедшие.
Отобразить.

Найти ближайшее событие и зарядить setTimeout() на время до него. Раньше обновлять не имеет смысла. При добавлении/удалении событий в массив, конечно, надо всё обновлять/пересчитывать. Поэтому и значение таймера var timer = setTimeout(...) надо сохранить, чтобы иметь возможность отменить.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы