«Единственный способ творить великие дела – это любить то, что ты делаешь»
JavaScript
site.komp36.ru Создание сайтов. Твой сайт фотографа Что есть на сайте? Несколько фото галерей: свадебная, постановочная съемка, love story, детские фото. Договор на фотосъемку, прайс-лист.
site.komp36.ru Продающий лендинг. Создание сайтов Установка и продажа окон, установка дверей, перегородок. Одностраничный продающий сайт. Заявки прямо с сайта
site.komp36.ru Универсальный лендинг. Выбрать тему для сайта! Лендинг адаптируется под любую тему: ремонт, отделка, продажа окон, дверей, лестниц, мебели и многое другое
site.komp36.ru Создание сайтов. Сайт сервисного центра. Сайт компании. Новости и отзывы. Несколько прайс-листов – под каждый отдельная страница. Возможность размещения статей


Игра «Морской Бой» на JavaScript: Простая Игра и Игра для Двоих

Теперь следует выполнить практическую задачу по работе с методами объекта Date.

Подсказка для тех, кто захочет выполнить его самостоятельно: в нем нужно будет создавать объект Date для НЕ сегодняшней даты и в качестве параметра указать определенное число миллисекунд (об этом шла речь здесь).



Написать функцию, которая выводит на экран дату, которая наступит через n дней от сегодняшней.
n - количество дней, которое нужно запросить у пользователя при загрузке страницы.
Это значение передаете в функцию в качестве параметра.

При этом итоговую дату надо вывести в нормальном формате на русском языке.
Например, так (пример для ввода числа 79):

Через 79 дней будет вот такая дата:
День недели: Воскресенье
Число: 10
Месяц: Октябрь
Год: 2010

При этом пользователь должен ввести число от 1 до 1000.
Если он не попал в интервал или ввел не число, то надо вывести ошибку.
Проверку можно осуществлять за пределами функции.

Подсказка. Если задание кажется сложным, не спешите смотреть ответ.
Постарайтесь разбить задачу на как можно более мелкие шажки и для начала попробуйте написать код просто для конкретного числа дней, вообще не используя функцию.

Фрагмент кода

<script type = "text/javascript">

var months = ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"]; /* Массив месяцев */
var days = ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница","Суббота"]; /* Массив дней недели */

var day_now = new Date(); /* Объект Date для текущей даты */
var milliNow = day_now.getTime(); /* Число миллисекунд от 1-го января 1970 года до текущей даты */

function now_date(N) /* Функция с одним параметром */
{
var day_after_N = new Date(1000 * 60 * 60 * 24 * N); /* Объект Date для даты через N дней после 1-го января 1970 */
var milliN = day_after_N.getTime(); /* Число миллисекунд в N днях */

var milliNowPlusN = new Date(milliNow + milliN); /* Объект Date для даты через N дней после текущей */

document.write(N + " - через указанное Вами число дней будет следующая ДАТА: <p>");
document.write("Год: " + milliNowPlusN.getFullYear() + "<br>");
document.write("Месяц: " + months[milliNowPlusN.getMonth()] + "<br>");
document.write("День недели: " + days[milliNowPlusN.getDay()] + "<br>");
document.write("Число: " + milliNowPlusN.getDate() + "<br>");
}

var user = prompt("Через какое количество дней от 1 до 1000 Вам интересно знать Дату?"); /* Запрос для пользователя */
var n = Math.round(user); /* Округляем введенное пользователем число */

if (n > 1 && n < 1000) /* Если указанное число находится в диапазоне от 1 до 1000, то... */
{
now_date(n); /* Вызываем функцию */
}
else
{
document.write("Вы указали НЕ число, либо число за пределами диапазона от 1 до 1000")
}

</script>

Результат

Условие в этом решении можно было составить немного иначе:

Фрагмент кода

<script type="text/javascript">

if (n > 1000 || n < 1 || isNaN(n)) /* Если указанное число НЕ находится в диапазоне от 1 до 1000 ИЛИ оно НЕ число, то... */
{
document.write("Вы указали НЕ число, либо число за пределами диапазона от 1 до 1000")
}
else
{
now_date(n); /* Вызываем функцию */
}

</script>

Результат будет тот же. Только в первом случае создавалось условие при помощи логического оператора И, а здесь при помощи оператора ИЛИ и, кроме этого, введена проверка на тот случай, если n - это не число при помощи функции isNaN.

site.komp36.ruТвой сайт фотографа. Создание сайтов Что есть на сайте? Несколько фото галерей: свадебная, постановочная съемка, love story, детские фото. Договор на фотосъемку, прайс-лист.
site.komp36.ru Акция Как начать свое дело? Свой сайт «Укладка плитки» 9 000 руб. Лендинг адаптируется под любой вид отделочных работ, продажу товаров или услуг. Сайт поможет найти новых клиентов
site.komp36.ru Акция Продающий лендинг «Установка и продажа окон» 9 000 руб. Одностраничный продающий сайт. Установка и продажа окон, установка дверей, перегородок. Заявки прямо с сайта

Отзывы и комментарии:

Комментариев нет...

Оставить отзыв:

Ваше Имя:

Текст комментария:

Ответьте на вопрос:

Сколько дней в Високосном году?


Объект Date
Практическая задача - Не сегодняшняя дата
2050
Методы объекта Date - Дата и Время
3079
Практическая задача - методы объекта Date
2083
Метод getTime - Практика по объекту Date
4060
Тематические публикации
site.komp36.ru Как начать свое дело? Свой сайт «Укладка плитки» 9 000 руб. Лендинг адаптируется под любой вид отделочных работ, продажу товаров или услуг. Сайт поможет найти новых клиентов
site.komp36.ru Продающий лендинг «Установка и продажа окон» 9 000 руб. Одностраничный продающий сайт. Установка и продажа окон, установка дверей, перегородок. Заявки прямо с сайта
Популярные заметки
Последние заметки