mozilla
Your Search Results

    Date

    Сводка

    Создаёт экземпляр объекта Date, представляющего собой момент времени. Объекты даты Date основываются на значении количества миллисекунд, прошедших с 1 января 1970 года в часовом поясе UTC.

    Синтаксис

    new Date();
    new Date(value);
    new Date(dateString);
    new Date(year, month[, day[, hour[, minute[, second[, millisecond]]]]]);
    

    Обратите внимание: объекты Date могут быть созданы только путём вызова функции Date в качестве конструктора: обычный вызов функции (то есть, без использования оператора new) вернёт строку вместо объекта Date; в отличие от других объектных типов JavaScript, объекты Date не имеют литерального синтаксиса.

    Параметры

    Обратите внимание: если функция Date вызывается в качестве конструктора с более, чем одним аргументом, значения, большие логического диапазона (например, 13 в качестве номера месяца или 70 для значения минут) «переметнутся» на соседние значения. Например, вызов new Date(2013, 13, 1) эквивалентенвызову new Date(2014, 1, 1), оба создадут дату 2014-02-01 (нумерация месяцев начинается с нуля). Тоже самое действует и для других значений: вызов new Date(2013, 2, 1, 0, 70) эквивалентен вызову new Date(2013, 2, 1, 1, 10) — оба вызова создадут дату 2013-03-01T01:10:00.

    Обратите внимание: если функция Date вызывается в качестве конструктора с более чем одним аргументом, то указанные аргументы интерпретируются как локальное время. Если аргументы указывают время в UTC, используйте new Date(Date.UTC(...)) с теми же аргументами.

    value
    Целое значение, представляющее количество миллисекунд, прошедших с 1 января 1970 00:00:00 по UTC (эпохи Unix).
    dateString
    Строковое значение, представляющее дату. Строка должна быть в одном из форматов, распознаваемых методом Date.parse() (совместимые с IETF RFC 2822 временные метки [на английском, на русском], а также версия ISO8601 [на английском, на русском]).
    year
    Целое значение, представляющее год. Значения с 0 по 99 отображаются на года с 1900 по 1999. Смотрите пример ниже.
    month
    Целое значение, представляющее месяц, начинается с 0 для января и кончается 11 для декабря.
    day
    Необязательный параметр. Целое значение, представляющее день месяца.
    hour
    Необязательный параметр. Целое значение, представляющее часы дня.
    minute
    Необязательный параметр. Целое значение, представляющее минуты времени.
    second
    Необязательный параметр. Целое значение, представляющее секунды времени.
    millisecond
    Необязательный параметр. Целое значение, представляющее миллисекунды времени.

    Описание

    • Если никаких аргументов передано не было, конструктор создаёт объект Date для текущих даты и времени, согласно системным настройкам.
    • Если передано как минимум два аргумента, отсутствующие аргументы устанавливаются либо в 1 (если опущен день), либо в 0 (все остальные значения).
    • Дата в JavaScript измеряется в миллисекундах, прошедших с полуночи 1 января 1970 года по UTC. День содержит 86 400 000 миллисекунд. Диапазон дат объекта Date варьируется от -100 000 000 до 100 000 000 дней относительно 1 января 1970 года по UTC.
    • Объект Date обеспечивает универсальное поведение на всех платформах. Значение времени может передаваться между системами для представления одинакового момента во времени и, если оно используется для создания локального объекта даты, будет отражать местный эквивалент времени.
    • Объект Date поддерживает несколько методов для работы с UTC (всемирным координированным временем), наряду с методами работы с местным временем. UTC, также известное как среднее время по Гринвичу (GMT), ссылается на время, установленное Всемирным стандартом времени. Местное время — это время на компьютере, на котором выполняется JavaScript.
    • Вызов объекта Date в качестве функции (то есть, без использования оператора new) вернёт строку, представляющую текущие дату и время.

    Свойства

    Справку по свойствам, доступным на экземплярах Date, смотрите в разделе Свойства экземпляров Date.
    Date.prototype
    Позволяет добавлять свойства к объекту Date.
    Date.length
    Значение свойства Date.length равно 7. Это количество аргументов, обрабатываемых конструктором.
    Свойства, унаследованные из Function:

    Методы

    Справку по методам, доступным на экземплярах Date, смотрите в разделе Методы экземпляров Date.
    Date.now()
    Возвращает числовое значение, соответствующее текущему времени — количество миллисекунд, прошедших с 1 января 1970 года 00:00:00 по UTC.
    Date.parse()
    Разбирает строковое представление даты и возвращает количество миллисекунд с 1 января 1970 года 00:00:00 по местному времени.
    Date.UTC()
    Принимает те же самые параметры, что и самый длиный вариант конструктора (то есть, от 2 до 7) и возвращает количество миллисекунд, прошедших с 1 января 1970 года 00:00:00 по UTC.
    Методы, унаследованные из Function:

    Экземпляры объекта Date

    Все экземпляры объекта Date наследуются от Date.prototype. Объект прототипа конструктора Date может быть изменён, чтобы затронуть все экземпляры объекта Date.

    Методы

    Получения значения

    Date.prototype.getDate()
    Возвращает день месяца (1-31) указанной даты по местному времени.
    Date.prototype.getDay()
    Возвращает день недели (0-6) указанной даты по местному времени.
    Date.prototype.getFullYear()
    Возвращает год (4 цифры для 4-х значного года) указанной даты по местному времени.
    Date.prototype.getHours()
    Возвращает часы (0-23) указанной даты по местному времени.
    Date.prototype.getMilliseconds()
    Возвращает миллисекунды (0-999) указанной даты по местному времени.
    Date.prototype.getMinutes()
    Возвращает минуты (0-59) указанной даты по местному времени.
    Date.prototype.getMonth()
    Возвращает месяц (0-11) указанной даты по местному времени.
    Date.prototype.getSeconds()
    Возвращает секунды (0-59) указанной даты по местному времени.
    Date.prototype.getTime()
    Возвращает числовое значение указанной даты как количество миллисекунд, прошедших с 1 января 1970 года 00:00:00 по UTC (отрицательное значение для даты до этого момента).
    Date.prototype.getTimezoneOffset()
    Возвращает смещение часового пояса в минутах для текущей локали.
    Date.prototype.getUTCDate()
    Возвращает день месяца (1-31) указанной даты по всемирному координированному времени.
    Date.prototype.getUTCDay()
    Возвращает день недели (0-6) указанной даты по всемирному координированному времени.
    Date.prototype.getUTCFullYear()
    Возвращает год (4 цифры для 4-х значного года) указанной даты по всемирному координированному времени.
    Date.prototype.getUTCHours()
    Возвращает часы (0-23) указанной даты по всемирному координированному времени.
    Date.prototype.getUTCMilliseconds()
    Возвращает миллисекунды (0-999) указанной даты по всемирному координированному времени.
    Date.prototype.getUTCMinutes()
    Возвращает минуты (0-59) указанной даты по всемирному координированному времени.
    Date.prototype.getUTCMonth()
    Возвращает месяц (0-11) указанной даты по всемирному координированному времени.
    Date.prototype.getUTCSeconds()
    Возвращает секунды (0-59) указанной даты по всемирному координированному времени.
    Date.prototype.getYear()
    Возвращает год (обычно 2-3 цифры) указанной даты по всемирному координированному времени. Вместо него используйте метод getFullYear().

    Установки значения

    Date.prototype.setDate()
    Устанавливает день месяца указанной даты по местному времени.
    Date.prototype.setFullYear()
    Устанавливает полный год (4 цифры для 4-х значного года) указанной даты по местному времени.
    Date.prototype.setHours()
    Устанавливает часы указанной даты по местному времени.
    Date.prototype.setMilliseconds()
    Устанавливает миллисекунды указанной даты по местному времени.
    Date.prototype.setMinutes()
    Устанавливает минуты указанной даты по местному времени.
    Date.prototype.setMonth()
    Устанавливает месяц указанной даты по местному времени.
    Date.prototype.setSeconds()
    Устанавливает секунды указанной даты по местному времени.
    Date.prototype.setTime()
    Устанавливает объект Date во время, представляемое количеством миллисекунд, прошедших с 1 января 1970 года 00:00:00 по UTC (отрицательное значение устанавливает даты до этого момента).
    Date.prototype.setUTCDate()
    Устанавливает день месяца указанной даты по всемирному координированному времени.
    Date.prototype.setUTCFullYear()
    Устанавливает полный год (4 цифры для 4-х значного года) указанной даты по всемирному координированному времени.
    Date.prototype.setUTCHours()
    Устанавливает часы указанной даты по всемирному координированному времени.
    Date.prototype.setUTCMilliseconds()
    Устанавливает миллисекунды указанной даты по всемирному координированному времени.
    Date.prototype.setUTCMinutes()
    Устанавливает минуты указанной даты по всемирному координированному времени.
    Date.prototype.setUTCMonth()
    Устанавливает месяц указанной даты по всемирному координированному времени.
    Date.prototype.setUTCSeconds()
    Устанавливает секунды указанной даты по всемирному координированному времени.
    Date.prototype.setYear()
    Устанавливает год (обычно 2-3 цифры) указанной даты по всемирному координированному времени. Вместо него используйте метод setFullYear().

    Получения преобразованного значения

    Date.prototype.toDateString()
    Возвращает часть, содержащую только дату объекта Date в качестве человеко-читаемой строки.
    Date.prototype.toISOString()
    Преобразует дату в строку, следуя расширенному формату ISO 8601.
    Date.prototype.toJSON()
    Возвращает строку, представляющую объект Date, используя метод toISOString(). Предназначен для использования методом JSON.stringify().
    Date.prototype.toGMTString()
    Возвращает строку, представляющую объект Date, на основе часового пояса GMT (всемирное врямя). Вместо него используйте метод toUTCString().
    Date.prototype.toLocaleDateString()
    Возвращает строку с датой, чьё представление зависит от системных настроек локали.
    Date.prototype.toLocaleFormat()
    Преобразует дату в строку, используя строку форматирования.
    Date.prototype.toLocaleString()
    Возвращает строку, чьё представление зависит от настроек локали. Переопределяет метод Object.prototype.toLocaleString().
    Date.prototype.toLocaleTimeString()
    Возвращает строку со временем, чьё представление зависит от системных настроек локали.
    Date.prototype.toSource()
    Возвращает строковое представление исходного кода эквивалентного объекта Date; вы можете использовать это значение для создания нового объекта. Переопределяет метод Object.prototype.toSource().
    Date.prototype.toString()
    Возвращает строковое представление указанного объекта Date. Переопределяет метод Object.prototype.toString().
    Date.prototype.toTimeString()
    Возвращает часть, содержащую только время объекта Date в качестве человеко-читаемой строки.
    Date.prototype.toUTCString()
    Преобразует дату в строку, используя часовой пояс UTC.
    Date.prototype.valueOf()
    Возвращает примитивное значение объекта Date. Переопределяет метод Object.prototype.valueOf().

    Примеры

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

    Следующие примеры показывают несколько способов создания дат в JavaScript:

    var today = new Date();
    var birthday = new Date('December 17, 1995 03:24:00');
    var birthday = new Date('1995-12-17T03:24:00');
    var birthday = new Date(1995, 11, 17);
    var birthday = new Date(1995, 11, 17, 3, 24, 0);
    

    Пример: двухциферный год отображается на 1900 - 1999 года

    Для того, чтобы создать и получить даты между 0 и 99 годом, нужно использоваться методы Date.prototype.setFullYear() и Date.prototype.getFullYear().

    var date = new Date(98, 1); // Sun Feb 01 1998 00:00:00 GMT+0000 (GMT)
    
    // Устаревший метод, 98 отображается на 1998 год
    date.setYear(98);           // Sun Feb 01 1998 00:00:00 GMT+0000 (GMT)
    
    date.setFullYear(98);       // Sat Feb 01 0098 00:00:00 GMT+0000 (BST)
    

    Пример: вычисление затраченного времени

    Следующие примеры показывают, как определить разницу во времени между двумя датами в JavaScript:

    // Используя объекты Date
    var start = Date.now();
    
    // Событие, для которого замеряется время, происходит тут:
    doSomethingForALongTime();
    var end = Date.now();
    var elapsed = end - start; // затраченное время в миллисекундах
    
    // Используя встроенные методы
    var start = new Date();
    
    // Событие, для которого замеряется время, происходит тут:
    doSomethingForALongTime();
    var end = new Date();
    var elapsed = end.getTime() - start.getTime(); // затраченное время в миллисекундах
    
    // Проверяет функцию и возвращает её возвращаемое значение
    function printElapsedTime(fTest) {
      var nStartTime = Date.now(),
          vReturn = fTest(),
          nEndTime = Date.now();
    
      console.log('Затраченное время: ' + String(nEndTime - nStartTime) + ' миллисекунд');
      return vReturn;
    }
    
    yourFunctionReturn = printElapsedTime(yourFunction);
    

    Обратите внимание: в браузерах, поддерживающих высокое временное разрешение с помощью API замера производительности, метод Performance.now() может обеспечить более надёжные и точные замеры затраченного времени, нежели метод Date.now().

    Спецификации

    Спецификация Статус Комментарии
    ECMAScript 1-е издание. Стандарт Изначальное определение. Реализована в JavaScript 1.1.
    ECMAScript 5.1 (ECMA-262)
    Определение 'Date' в этой спецификации.
    Стандарт  
    ECMAScript 6 (ECMA-262)
    Определение 'Date' в этой спецификации.
    Черновик  

    Совместимость с браузерами

    Возможность Chrome Firefox (Gecko) Internet Explorer Opera Safari
    Базовая поддержка (Да) (Да) (Да) (Да) (Да)
    Возможность Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
    Базовая поддержка (Да) (Да) (Да) (Да) (Да) (Да)

    Сообщения о совместимости с браузерами

    Метки документа и участники

    Contributors to this page: Mingun, zasipin, liloi, lanedis, teoli, bvc3at, Funkill
    Обновлялась последний раз: lanedis,
    Скрыть боковую панель