JavaScript/Objects/Date

Материал из Энциклопедия о программировании
Перейти к: навигация, поиск

Date (Дата) — объект стандартной библиотеки JS, который используется для работы с датами. Наследуется от объекта Object.

ECMAScript объект Date хранит time/date инфо с точностью 1-ой миллисек. как число, измеряемое от полночи 1.1.1970 UTC.

В 64-разрядном числе со знаком внутренний номер хранения даты теоретически может охватывать 285616 лет до или после 1.1.1970, т.н.м., спецификация утверждает, что фактический диапазон ровен 100,000,000 дней вперед или назад (~273,972 лет).

Создание объекта Date, используя синтаксис new Date(), т.е. создание через конструктор и без аргументов устанавливает время в объекте на текущее время, которое установлено на машине, выполняющей скрипт. К.т., в конструктор может быть передана строка, которая будет пытаться разобрать как date/time, единственное число, представляющее собой количество миллисек., прошедших с полночи 1.1.1970 UTC, или 2 или более номеров для различных частей даты: var now = new Date(); // текущая дата var dateFromMS = new Date(1071764127813); // время в миллисекундах прошедшее с 1.1.1970 var someDate = new Date('11/18/2003'); // внутри используется Date.parse() var dateAndTime = new Date('11/18/2003 4:15:27 pm'); // внутри используется Date.parse() var exactDate = new Date(2003, 11, 18, 16, 15, 27, 813); // внутри используется Date.UTC(), это самый безотказный способ задания объекта Date, работает почти везде

Когда в конструктор объекта передается одна строка, то внутри вызывается Date.parse() и возвращает числовое значение (время в миллисек., прошедшее с 1.1.1970), которой используется для задания даты. Когда 2 или более числа будут приняты конструктором, вызывается Date.UTC(), и его результат так же используется для задания даты.

Поскольку объект Date входит в библиотеку языка ECMAScript, то ведет он себя одинаково на всех платформах за некоторыми мелкими исключениями.

Date поддерживает как методы для работы в зоне UTC (GMT+0), так и методы для работы с местным временем. Местное время это то, которое установлено на машине, на которой выполняется скрипт.

Создание

dateObj = new Date() dateObj = new Date(dateVal) dateObj = new Date(year, month, day[, hours, minutes, seconds, ms])

Аргументы

dateVal
  • Если параметр является числовым, то он интерпретируется как количество миллисекунд от 1.1.1970 00:00.
  • Если строкой, то она разбирается и интерпретируется как дата по стандартным правилам Date.parse.

year
Год в формате YYYY.
month
Месяц от 0 (Янв) до 11 (Дек).
day
День месяца от 1 до 31.
hours
Параметр должен быть указан, если указан параметр minutes. Устанавливает кол-во часов от 0 до 23.
minutes
Параметр должен быть указан, если указан параметр seconds. Устанавливает кол-во мин.: от 0 до 59.
seconds
Параметр должен быть указан, если указан параметр ms. Устанавливает кол-во сек.: от 0 до 59.
ms
Кол-во миллисек.: от 0 до 999.

Дата измеряется в миллисек., начиная от полуночи 1.1.1970 GMT+0. День содержит 86,400,000 миллисек.

Self Methods

Название Возвраащет Описание
parse(dateString) Number Пытается анализировать предоставленную строку как дату и вернуть число миллисек., которое она представляет.
UTC(year,month,[day],…) Number Возвращает кол-во миллисек., соответствующее предоставленным аргументам.

Методы

Name Returns Description
getDate Number Return the day number in the local timezone.
getDay Number Return the zero-based weekday number in the local timezone.
getFullYear Number Return the four-digit year in the local timezone.
getHours Number Return the hour number in the local timezone.
getMilliseconds Number Return the millisecond number in the local timezone.
getMinutes Number Return the minute number in the local timezone.
getMonth Number

Return the zero-based month number in the local timezone.

getSeconds() Number

Return the second number in the local timezone.

getTime() Number

Return the number of milliseconds since Midnight, Jan 1, 1970 UTC.

getTimezoneOffset() Number

Returns the difference between the local time and UTC time in minutes.

getUTCDate() Number

Return the day number in UTC.

getUTCDay() Number

Return the zero-based weekday number in UTC.

getUTCFullYear() Number

Return the four-digit year in UTC.

getUTCHours() Number

Return the hour number in UTC.

getUTCMilliseconds() Number

Return the millisecond number in UTC.

getUTCMinutes() Number

Return the minute number in UTC.

getUTCMonth() Number

Return the zero-based month number in UTC.

getUTCSeconds() Number

Return the second number in UTC.

hasOwnProperty(propertyOrMethodName) Boolean

Determines if the object/instance itself has the named property or method. [from Object]

isPrototypeOf(instanceToTest) Boolean

Determines if the calling object prototype is in the inheritance chain for the supplied argument. [from Object]

propertyIsEnumerable(propertyOrMethodName) Boolean

Determines if the object/instance itself has a property or method of the supplied name which will appear in a for (prop in obj) enumeration. [from Object]

setDate(day) Number

Set the day number in the local timezone.

setFullYear(year,[month],[day]) Number

Set the year, expressed in the local timezone.

setHours(hours,[mins],[secs],…) Number

Set the hour number in the local timezone.

setMilliseconds(ms) Number

Set the millisecond number in the local timezone.

setMinutes(mins,[secs],[ms]) Number

Set the minute number in the local timezone.

setMonth(month,[day]) Number

Set the zero-based month, expressed in the local timezone.

setSeconds(second,[ms]) Number

Set the second number in the local timezone.

setTime(time) Number

Set the date object to a new time.

setUTCDate(day) Number

Set the UTC day number.

setUTCFullYear(year,[month],[day]) Number

Set the UTC year number.

setUTCHours(hours,[mins],[secs],…) Number

Set the UTC hours.

setUTCMilliseconds([ms]) Number

Set the UTC milliseconds.

setUTCMinutes(mins,[secs],[ms]) Number

Set the UTC minutes.

setUTCMonth(month,[day]) Number

Set the UTC month.

setUTCSeconds(secs,[ms]) Number

Set the UTC seconds.

toDateString() String

Return a string version of the date-only portion of the object.

toLocaleString() String

For most objects, the same as toString() unless explicitly overridden. [from Object]

toString() String

Returns a string representation of the object. [from Object]

toTimeString() String

Return a string version of the time-only portion of the object.

toUTCString() String

Returns a string form of the Date in a convenient, human-readable form in UTC.

valueOf() String

Returns the internal this value of the object. [from Object]

Свойства

name object description
created

[pshop] File

(read only) Creation date for the file.

created

[pshop] Folder

(read only) Creation date for the Folder.

modified

[pshop] Document

(read only) The date of the Folder's last modification.

Примеры

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

Если конструктор запущен без аргументов, то возвращается текущая дата:

var today = new Date();
Создать дату из строки

При вызове с одним аргументом - строкой, строка разбирается и интерпретируется как дата, так же, как и в методе Date.parse. Надо очень осторожно работать с методом Date.parse, т.к. его работа существенно отличается в разных интерпретаторах JS, т.е. одна и так же строка в одном случае может быть разобрана правильно а в другом вернуть NaN.

var date = new Date("21 May 1958 10:12") // используется редко
Объявление даты с несколькими аргументами

new Date(1); // Thu Jan 01 1970 03:00:00 GMT+0300 new Date(1,2); // Fri Mar 01 1901 00:00:00 GMT+0300 new Date(1,2,3); // Sun Mar 03 1901 00:00:00 GMT+0300 new Date(1,2,3,4); // Sun Mar 03 1901 04:00:00 GMT+0300 new Date(1,2,3,4,5); // Sun Mar 03 1901 04:05:00 GMT+0300 new Date(1,2,3,4,5,6); // Sun Mar 03 1901 04:05:06 GMT+0300

Данный материал относится к ЯП JS.