Напишите код, который выводит:
- Сколько секунд прошло с начала сегодняшнего дня.
- Сколько осталось до конца дня.
Скрипт должен работать в любой день, т.е. в нём не должно быть конкретного значения сегодняшней даты.
Решение
Решение
Первая часть.
Для вывода достаточно сгенерировать date, соответствующий началу дня, т.е. «сегодня» 00 часов 00 минут 00 секунд.
Разница между текущей датой и началом дня — это количество миллисекунд от начала дня. Его можно легко перевести в секунды:
var now = new Date(); // создать объект из текущей даты, без часов-минут-секунд var today = new Date(now.getFullYear(), now.getMonth(), now.getDate()); var diff = now - today; // разница в миллисекундах alert( Math.round(diff / 1000) ); // перевести в секунды
Вторая часть
Для получения оставшихся до конца дня секунд нужно из «завтра 00ч 00мин 00сек» вычесть текущее время.
Чтобы сгенерировать «завтра», нужно увеличить текущий день на 1:
var now = new Date(); // создать объект из даты, без часов-минут-секунд var tomorrow = new Date(now.getFullYear(), now.getMonth(), *!*now.getDate()+1*/!*); var diff = tomorrow - now; // разница в миллисекундах alert( Math.round(diff / 1000) ); // перевести в секунды
#360