январь – это 0, февраль – 1 и т. д. Если нужно возвратить номер, совпадающий с обычным пониманием месяцев, просто следует добавить 1:
var now = new Date();
var month = now.getMonth()+1; // соответствует
// реальной нумерации // месяца
В JavaScript не существует встроенной команды, сообщающей имя месяца. К счастью, способ нумерации в JavaScript удобен, когда нужно определить точное название месяца. Можно достичь этого, создав массив с названиями месяцев, а затем получать доступ к имени, используя его индекс:
var months = ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'];
var now = new Date ();
var months = months[now.getMonth()];
В первой строке создается массив с двенадцатью названиями месяцев в том порядке, в котором они идут (январь – декабрь). Следует помнить, что для доступа к элементу массива используется индекс и что массивы нумеруются с 0. Итак, для доступа к первому элементу массива с названиями месяцев следует использовать months[0]. Таким образом, с помощью getMonth() можно получить число, используемое как индекс для массива месяцев, посредством чего легко узнать название этого месяца.
Получение дня недели
Метод getDay() возвращает день недели. Как и в методе getMonth(), интерпретатор JavaScript возвращает число на 1 меньше, чем номер дня: 0 – это воскресенье, первый день неде-
19
ли по принятой на Западе традиции, 6 – суббота. Поскольку для обычных людей название дня недели обычно важнее, чем его номер, можно использовать массив для сохранения названий дней и метод getDay() для доступа к отдельному дню в массиве:
var days = [ 'Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота' ];
var now = new Date();
var dayOfWeek = days[now.getDay()];
Получение времени
О6ъект Date также содержит актуальное время, поэтому можно отобразить это время на веб-странице или использовать его, чтобы узнать, в какое время суток посетитель просматривал страницу.
Методы getHours(), getMinutes() и getSeconds() можно использовать для возвращения часов, минут и секунд. То есть, чтобы отобразить время на веб-странице, можно добавить следующий код в HTML туда, где требуется видеть время:
var now = new Date();
var hours = now.getHours();
var minutes = now.getMinutes() ; var seconds = now.getSeconds();
document .write (hours + ":" + minutes + ":" + seconds);
Данный код производит вывод 6:35:56 для обозначения 6 часов, 35 минут и 56 секунд.
Создание не текущей даты
Используя метод Date(), также можно указывать дату и время в будущем и прошлом. Основной формат таков:
20
new Date(год, месяц, день, час, минута, секунда, миллисекунда);
Например, чтобы создать Date для полудня 1 января 2010 г., можно написать следующее:
var ny2010 = new Date(2010, 0, l, 12, 0, 0, 0);
Данный код переводится как «Создать новый объект Date для времени 1.01.2010, 12:00:00:00». Необходимыми параметрами являются только год и месяц. Если не требуется указывать точное время, можно опустить миллисекунды, секунды, минуты и т. д. Например, создание объекта «1 января 2010 года» выглядит так:
var ny2010 = new Date(2010, 0, 1);
Создание даты, являющейся определенным днем не-
дели
Интерпретатор JavaScript считает дату количеством миллисекунд, истекших с 1 января 1970 г. Другими словами, создание даты – это присвоение значения, равного количеству миллисекунд для этой даты:
new Date(количество миллисекунд);
Итак, другой способ создания даты для 1.01.2010 таков:
var ny2010 = new Date(1262332800000);
Конечно, большинство людей – не живые калькуляторы, и дату человек воспринимает не так. Однако миллисекунды очень удобны при создании даты, отстоящей от другой даты на конкретный период времени. Например, при настройке cookie с использованием JavaScript следует указать время, через которое cookie должно быть удалено из браузера посетителя. Чтобы
21
гарантировать, что cookie исчезнет через неделю, необходимо указать одну неделю, начиная с сегодняшнего дня.
Для создания даты, отстоящей от сегодняшнего дня на одну неделю можно сделать следующее:
var now = new Date(); |
// |
текущий мо- |
мент |
|
|
var nowMS = now.getTime(); |
// |
миллисекун- |
ды, соответствующие |
|
|
// текущему моменту |
|
|
var week = 1000*60*60*24*7; |
// вычисление количе- |
|
ства |
|
|
// миллисекунд в неделю
var oneWeekFromNow = new Date(nowMS + week);
В первой строке текущие дата и время сохраняются в переменной now. Далее метод getTime() извлекает число миллисекунд, истекших с 1.01.1970 до сегодняшнего дня. Третья строка считает общее количество миллисекунд в неделе (1000 миллисекунд * 60 секунд * 60 минут * 24 часа * 7 дней). В итоге код создает новую переменную, добавляя число миллисекунд в неделе к сегодняшнему дню.
2.3. Задания на контрольную работу № 2
Задание 1. Составить программу для работы с массивом, заполнение которого осуществляется с помощью генератора случайных чисел.
Варианты задания 1
1. Составить программу, формирующую массив A[10] из целочисленных элементов в диапазоне 0..20. Вывести на экран массив и среднее арифметическое его элементов.
22
2.Составить программу, формирующую массив B[12] из целочисленных элементов в диапазоне -5..5. Вывести на экран массив и сумму его положительных элементов.
3.Составить программу, формирующую массив D[11] из целочисленных элементов в диапазоне -10..10. Вывести на экран массив и количество его отрицательных элементов.
4.Составить программу, формирующую массив T[9] из целочисленных элементов в диапазоне 0..10. Вывести на экран массив и количество элементов, больших числа 5.
5.Составить программу, формирующую массив S[10] из целочисленных элементов в диапазоне 0..15. Вывести на экран массив и количество четных элементов.
6.Составить программу, формирующую массив R[12] из целочисленных элементов в диапазоне 0..20. Вывести на экран массив и сумму его нечетных элементов.
7.Составить программу, формирующую массив Y[8] из целочисленных элементов в диапазоне -10..10. Вывести на экран массив и сумму его положительных элементов.
8.Составить программу, формирующую массив P[14] из целочисленных элементов в диапазоне 0..25. Вывести на экран массив и количество элементов, вошедших в диапазон [5..10].
9.Составить программу формирующую массив F[10] из целочисленных элементов в диапазоне 0..10. Вывести на экран массив и сумму элементов, меньших 5.
10.Составить программу формирующую массив Z[10] из целочисленных элементов в диапазоне -5..5. Вывести на экран массив и сумму модулей его элементов.
Задание 2. Составить программу, которая выводит текущие дату и время в определенном формате. Варианты заданий приведены в табл. 6.
23
| 03. ПФ альтерации |
| 08. Стресс |
| 1-28вопрос -1 |
| 1365 |
| 14 |
| 16 Антианг+ |
| 3767 |
| 4 модуль |
| 5180 |
| 751 |