Встроенные объекты

Последнее обновление: 1.11.2015

Кроме возможности создавать свои объекты JavaScript также предоставляет набор встроенных типов объектов, которые мы можем применять в различных ситуациях.

Объект Date. Работа с датами

Объект Date позволяет работать с датами и временем в JavaScript.

Существуют различные способы создания объекта Date. Первый способ заключается в использовании пустого конструктора без параметров:

var currentDate = new Date();
document.write(currentDate);

В этом случае объект будет указывать на текущую дату компьютера:

Создание объекта Date в JavaScript

Второй способ заключается в передаче в конструктор Date количества миллисекунд, которые прошли с начала эпохи Unix, то есть с 1 января 1970 года 00:00:00 GMT:

var myDate = new Date(1359270000000);
document.write(myDate); // Sun Jan 27 2013 10:00:00 GMT+0300 (RTZ 2 (зима))

Третий способ состоит в передаче в конструктор Date дня, месяца и года:

var myDate = new Date("27 March 2008");
// или так
// var myDate = new Date("3/27/2008");
document.write(myDate); // Thu Mar 27 2008 00:00:00 GMT+0300 (RTZ 2 (зима))

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

Четвертый способ состоит в передаче в конструктор Date всех параметров даты и времени:

var myDate = new Date(2012,11,25,18,30,20,10); // Tue Dec 25 2012 18:30:20 GMT+0300 (RTZ 2 (зима))

В данном случае используются по порядку следующие параметры: new Date(год, месяц, число, час, минуты, секунды, миллисекунды). При этом надо учитывать, что отсчет месяцев начинается с нуля, то есть январь - 0, а декабрь - 11.

Получение даты и времени

Для получения различных компонентов даты применяется ряд методов:

  • getDate(): возвращает день месяца

  • getDay(): возвращает день недели (отсчет начинается с 0 - воскресенье, и последний день - 6 - суббота)

  • getMonth(): возвращает номер месяца (отсчет начинается с нуля, то есть месяц с номер 0 - январь)

  • getFullYear(): возвращает год

  • toDateString(): возвращает полную дату в виде строки

  • getHours(): возвращает час (от 0 до 23)

  • getMinutes(): возвращает минуты (от 0 до 59)

  • getSeconds(): возвращает секунды (от 0 до 59)

  • getMilliseconds(): возвращает миллисекунды (от 0 до 999)

  • toTimeString(): возвращает полное время в виде строки

Получим текущую дату:

var days = ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"];
var months = ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", 
			"Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"];
			
var myDate = new Date();
var fullDate = "Сегодня: " + myDate.getDate() + " " + months[myDate.getMonth()] + 
				" " + myDate.getFullYear() + ", " + days[myDate.getDay()];
document.write(fullDate); // Сегодня: 18 Август 2015, Вторник

Перевести из числовых значений в более привычные названия для дней недели и месяцев используются массивы. Получив индекс дня недели (myDate.getDay()) и индекс месяца (myDate.getMonth()) можно получить нужный элемент из массива.

Теперь получим текущее время:

var welcome;
var myDate = new Date();
var hour = myDate.getHours();
var minute = myDate.getMinutes();
var second = myDate.getSeconds();
if (minute < 10) {
	minute = "0" + minute;
}
if (second < 10) {
	second = "0" + second;
}
if (hour < 12) {
	welcome = "Доброе утро";
} else if (hour < 17) {
	welcome = "Добрый день";
} else {
	welcome = "Добрый вечер";
}
document.write(welcome + ", текущее время: " + hour + 
				":" + minute + ":" + second); // Добрый вечер, текущее время: 22:50:39

Установка даты и времени

Коме задания параметров даты в конструкторе для установки мы также можем использовать дополнительные методы объекта Date:

  • setDate(): установка дня в дате

  • setMonth(): уставовка месяца (отсчет начинается с нуля, то есть месяц с номер 0 - январь)

  • setFullYear(): устанавливает год

  • setHours(): установка часа

  • setMinutes(): установка минут

  • setSeconds(): установка секунд

  • setMilliseconds(): установка миллисекунд

Установим дату:

var days = ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четвег", "Пятница", "Суббота"];
var months = ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", 
			"Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"];
			
var myDate = new Date();
myDate.setDate(15);
myDate.setMonth(6);
myDate.setYear(2013);

var fullDate = myDate.getDate() + " " + months[myDate.getMonth()] + 
				" " + myDate.getFullYear() + ", " + days[myDate.getDay()];
document.write(fullDate); // 15 Июль 2013, Понедельник

При установке значений мы можем передать величину, большую, чем максимальное допустимое значение. Например, установить для часа число 54:

myDate.setHour(54);

В этом случае значение часа будет равно 54 - 24 * 2 = 6, а оставшиеся часы будут составлять два дня (24 * 2), что прибавит к дате два дня. То же самое действует и в отношении дней, минут, секунд, миллисекунд и месяцев.

Помощь сайту
WebMoney
  • P378451176208
  • Z280152397659
ЮMoney/Яндекс-Деньги
  • 410011174743222
PayPal
  • metanit22@mail.ru
Перевод на карту
  • Номер карты: 4048415020898850