Примеры решения задач
Задача
Задача. Выведите на экран текущие день, месяц и год в формате 'год-месяц-день'.
Решение:
var date = new Date();
alert(date.getFullYear() + '-' + date.getMonth() + '-' + date.getDate());
Задача
Задача. Выведите на экран текущий месяц словом, по-русски.
Решение: создадим массив месяцев months, затем получим номер текущего месяца с помощью getMonth, и выведем месяц словом, обратившись к элементу массива months с ключом, равным номеру текущего месяца, вот так - months[month]:
var months = [
'янв', 'фев', 'мар', 'апр', 'май', 'июн',
'июл', 'авг', 'сен', 'окт', 'ноя', 'дек'
];
var date = new Date();
var month = date.getMonth();
alert(months[month]);
Задачи для решения
Работа с new Date
Выведите на экран текущий день.
Решение:
var date = new Date();
alert(date.getDate());
Выведите на экран текущий месяц.
Решение:
var date = new Date();
alert(date.getMonth());
Выведите на экран текущий год.
Решение:
var date = new Date();
alert(date.getFullYear());
Выведите на экран текущую дату-время в формате '12:59:59 31.12.2014'. Для решения этой задачи напишите функцию, которая будет добавлять 0 перед днями и месяцами, которые состоят из одной цифры (из 1.9.2014 сделает 01.09.2014).
Решение:
var date = new Date();
function getZero(num){
if (num > 0 && num < 10) {
return '0' + num;
} else {
return num;
}
}
alert(date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds() + ' ' + getZero(date.getDate()) + '.' + getZero(date.getMonth() + 1) + '.' + date.getFullYear());
Работа с getDay
Выведите на экран номер текущего дня недели.
Решение:
var date = new Date();
alert(date.getDay());
Выведите на экран текущий день недели (словом, по-русски). Создайте для этого вспомогательную функцию showDay, которая параметром принимает число, а возвращает день недели по-русски.
Решение:
var date = new Date();
var day = date.getDay();
function showDay(day) {
var days = ['вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'];
return days[day];
}
alert(showDay(day));
Узнайте, какой был 7-го января 2015 года.
Решение:
var date = new Date(2015, 0, 7); //месяц 0, так как их нумерация с нуля
var day = date.getDay();
function showDay(day) {
var days = ['вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'];
return days[day];
}
alert(showDay(day));
Работа с getTime
Выведите на экран количество минут с 1-го января 1970 года до настоящего момента времени.
Решение:
var date = new Date();
var minute = Math.floor(date.getTime() / (1000 * 60));
alert(minute);
Работа с Date.parse
Выведите на экран количество часов, прошедшее между 1 марта 1988 года и текущим моментом с помощью Date.parse.
Решение:
var time = Date.parse('1988-03-01T00:00:00'); //заданный момент в timestamp
var date = new Date();
var now = date.getTime(); //текущий момент в timestamp
var result = now - time; //найдем разницу в миллисекундах
result = result / (1000 * 60 * 60); //переведем миллисекунды в часы
alert(result);
Разность между датами
Выведите на экран количество секунд с начала дня до настоящего момента времени.
Решение:
var date = new Date();
var now = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0);
var result = Math.floor((date.getTime() - now.getTime()) / 1000);
alert(result);
Задачи
Выведите на экран количество секунд, которое осталось до конца дня.
Создайте инпут, в который пользователь вводит дату своего рождения в формате '2014-12-31' (с конкретным годом). По потери фокуса выведите под инпутом сколько дней осталось до его дня рождения. Воспользуйтесь методом Date.parse.