Полный цикл в digital

Объект Date

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

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

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

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

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

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

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

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

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

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

  • 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()];
// Сегодня: 18 Август 2015, Вторник
document.write(fullDate);

Перевести из числовых значений в более привычные названия для дней недели и месяцев используются массивы. Получив индекс дня недели 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 = "Добрый вечер";
}
// Добрый вечер, текущее время: 22:50:39
document.write(welcome + ", текущее время: " + hour +  ":" + minute + ":" + second);

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

Кроме задания параметров даты в конструкторе для установки мы также можем использовать дополнительные методы объекта 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()];
// 15 Июль 2013, Понедельник
document.write(fullDate);

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

myDate.setHour(54);

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

Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг