zadania_js_date (811580)
Текст из файла
Задание 1Создайте объект Date для даты: 26 февраля 2019 года, 3 часа 12 минут. Временная зона –местная.Для вывода используйте alert.Решение:Конструктор new Date стандартно использует местную временную зону. Единственнаяважная вещь, которую нужно запомнить – это то, что месяцы начинаются с нуля.Поэтому февраль обозначается числом 1.let d = new Date(2019, 1, 26, 3, 12);alert( d );измените программу так, чтобы она выводила дату Вашего рождения.Задание 2Покажите день неделиНапишите функцию getWeekDay(date), показывающую день недели в коротком формате:«ПН», «ВТ», «СР», «ЧТ», «ПТ», «СБ», «ВС».Например:let date = new Date(2012, 0, 3); // 3 января 2012 годаalert( getWeekDay(date) );// нужно вывести "ВТ"Решение:Метод date.getDay() возвращает номер дня недели, начиная с воскресенья.Создадим массив дней недели, чтобы получить имя нужного дня по его номеру:function getWeekDay(date) {let days = ['ВС', 'ПН', 'ВТ', 'СР', 'ЧТ', 'ПТ', 'СБ'];return days[date.getDay()];}let date = new Date(2014, 0, 3); // 3 января 2014 годаalert( getWeekDay(date) ); // ПТЗадание 3Какой день месяца был много дней назад?Создайте функцию getDateAgo(date, days), возвращающую число, которое было days днейназад от даты date.К примеру, если сегодня двадцатое число, то getDateAgo(new Date(), 1) вернётдевятнадцатое и getDateAgo(new Date(), 2) – восемнадцатое.Функция должна надёжно работать при значении days=365 и больших значениях:let date = new Date(2015, 0, 2);alert( getDateAgo(date, 1) ); // 1, (1 Jan 2015)alert( getDateAgo(date, 2) ); // 31, (31 Dec 2014)alert( getDateAgo(date, 365) ); // 2, (2 Jan 2014)P.S.
Функция не должна изменять переданный ей объект date.Решение:нужно вычесть заданное количество дней из date:function getDateAgo(date, days) {date.setDate(date.getDate() - days);return date.getDate();}…Но функция не должна изменять объект date. Это очень важно, поскольку внешний код,передающий нам объект, не ожидает его изменения.Это можно осуществить путём клонирования даты:function getDateAgo(date, days) {let dateCopy = new Date(date);dateCopy.setDate(date.getDate() - days);return dateCopy.getDate();}let date = new Date(2015, 0, 2);alert( getDateAgo(date, 1) ); // 1, (1 Jan 2015)alert( getDateAgo(date, 2) ); // 31, (31 Dec 2014)alert( getDateAgo(date, 365) ); // 2, (2 Jan 2014)Задание 4Сколько сегодня прошло секунд?Напишите функцию getSecondsToday(), возвращающую количество секунд с началасегодняшнего дня.Например, если сейчас 10:00, и не было перехода на зимнее/летнее время, то:getSecondsToday() == 36000 // (3600 * 10)Функция должна работать в любой день, т.е.
в ней не должно быть конкретного значениясегодняшней даты.Решение:Чтобы получить количество секунд, нужно сгенерировать объект date на самое началотекущего дня – 00:00:00, а затем вычесть полученное значение из «сейчас».Разность даст нам количество миллисекунд с начала дня, делим его на 1000 и получаемсекунды:function getSecondsToday() {let now = new Date();// создаём объект с текущими днём/месяцем/годомlet today = new Date(now.getFullYear(), now.getMonth(), now.getDate());let diff = now - today; // разница в миллисекундахreturn Math.round(diff / 1000); // получаем секунды}alert( getSecondsToday() );В качестве альтернативного решения можно получить часы/минуты и преобразовать их всекунды:function getSecondsToday() {let d = new Date();return d.getHours() * 3600 + d.getMinutes() * 60 + d.getSeconds();}Попробуйте самостоятельно составить функцию возвращающую остаток секунд донаступления следующего дня или указанного времени в будущем.Например, если сейчас 23:00, то:getSecondsToTomorrow() == 3600P.S.
Функция должна работать в любой день, т.е. в ней не должно быть конкретногозначения сегодняшней даты..
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.