Мастер-классы по Javascript Екатеринбург Ростов-на-Дону Москва Узнать больше...
Содержание (скрыть) Содержание (показать)

Сколько секунд - до завтра?

Напишите код, который выводит:

  1. Сколько секунд прошло с начала сегодняшнего дня.
  2. Сколько осталось до конца дня.

Скрипт должен работать в любой день, т.е. в нём не должно быть конкретного значения сегодняшней даты.

Решение
Решение

Первая часть.

Для вывода достаточно сгенерировать 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
Наверх

Реклама

Нашли опечатку?

Нашли опечатку на сайте? Что-то кажется странным?
Выделите соответствующий текст и нажмите Ctrl+Enter!

Последние Комментарии

Помоги другим!

Помоги другим узнать о хорошей статье!