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

JavaScript хранит даты в виде количества миллисекунд, прошедших с 1 января 1970, 00:00:00 UTC (универсальные координаты времени).


Как вывести дату

var dat = new Date()
1 new Date() - создает новый объект даты с текущими датой и временем
new Date(0) - нулевая дата - это 1 января 1970 00:00:00 UTC
new Date(-1000000000) - нулевая дата минус 1 000 000 000 миллисекунд - это 20 декабря 1969 13:13:20 UTC
2 new Date(2018, 7, 7, 16, 30, 30, 0) - 7 числовых параметров определяют год, месяц, день, часы, минуты, секунды, миллисекунды
new Date(2018, 7, 7) - 3 числовых параметра определяют год, месяц, день
new Date(2018) - нельзя опускать параметр месяца: если задается один параметр, то он будет интерпретироваться как миллисекунды
new Date(8, 7, 7) - eсли год указан в виде одной или двух цифр, то он интерпретируется как 19xx
new Date("August 7, 2018 16:30:30") - дата, указанная в виде строки
3 dat.toUTCString() - преобразует дату в строку UTC (стандарт отображения даты)
dat.toDateString() - преобразует дату в более читабельный формат

Форматы даты

1 new Date("2018-08-07") - запись по ISO (Международный стандарт)
new Date("2018") - дата по стандарту ISO также может записываться без определения месяца и дня
new Date("2018-08-07T16:30:30Z") - дата по стандарту ISO с добавлением часов, минут и секунд
new Date("2018-08-07T16:30:00-06:00") - чтобы указать время относительно UTC, нужно убрать букву Z и добавить сдвиг в формате +ЧЧ:ММ или -ЧЧ:ММ
2 new Date("08/07/2018") - короткая запись
3 new Date("August 7 2018") - длинная запись; - месяц и день могут быть в любом порядке; - месяц может записываться либо полностью (January), либо сокращенно (Jan); - запятые игнорируются; - имена регистронезависимы

Методы даты

var dat = new Date()
1 var msec = Date.parse("August 7, 2018") - возвращает количество миллисекунд, прошедших с 1 января 1970 до заданной даты
new Date(msec) - полученные миллисекунды можно преобразовать в объект даты
2 dat.getTime() - возвращает количество миллисекунд, прошедших с 1 января 1970 до сейчас
3 dat.getFullYear(); dat.getMonth(); dat.getDate() - возвращает год в формате четырех цифр; номер месяца (0-11); число месяца (1-31)
dat.getDay() - возвращает номер дня недели (0-6)
dat.getHours(); dat.getMinutes(); dat.getSeconds(); dat.getMilliseconds(); - возвращает час (0-23); - минуты (0-59); - секунды (0-59); - миллисекунды (0-999)
4 months[dat.getMonth()] - чтобы возвращалось название месяца, можно создать массив "month" с именами месяцев
5 dat.getUTCDay(); dat.getUTCFullYear(); dat.getUTCMonth(); dat.getUTCDate(); dat.getUTCHours(); dat.getUTCMinutes(); dat.getUTCSeconds(); dat.getUTCMilliseconds(); - есть также аналогичные методы, но возвращающие данные по UTC (Universal Time Zone)
6 dat.setFullYear(2018) - устанавливает в объекте даты год; при помощи этого метода также можно установить месяц и день
dat.setMonth(6) - устанавливает в объекте даты месяц (0-11)
dat.setDate(6) - устанавливает в объекте даты день (1-31
dat.setHours(16) - устанавливает в объекте даты час (0-23)
dat.setMinutes(30) - устанавливает в объекте даты минуты (0-59)
dat.setSeconds(30) - устанавливает в объекте даты секунды (0-59)
dat.setMiliseconds(500) - устанавливает в объекте даты милисекунды
7 dat.setDate(dat.getDate() + 50) - метод setDate() может использоваться для добавления дней к дате
8 today и someday - объекты даты; if (someday > today) - даты можно сравнивать
ECMAScript 5 (2009)
1 Date.now() - возвращает количество миллисекунд, прошедших с нулевой даты (то же, что и dat.getTime())