Дата и время JavaScript

В этом руководстве вы узнаете о дате и времени в JavaScript с помощью примеров.

В JavaScript дата и время представлены Dateобъектом. DateОбъект содержит информацию о дате и времени , а также различные методы.

Дата JavaScript определяет эпоху EcmaScript, которая представляет собой миллисекунды с 1 января 1970 года по всемирному координированному времени . Эта дата и время совпадают с эпохой UNIX (преобладающее базовое значение для значений даты и времени, записанных компьютером).

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

Есть четыре способа создать объект даты.

  • новая дата ()
  • новая дата (миллисекунды)
  • новая дата (строка даты)
  • новая дата (год, месяц, день, часы, минуты, секунды, миллисекунды)

новая дата ()

Вы можете создать объект даты с помощью new Date()конструктора. Например,

 const timeNow = new Date(); console.log(timeNow); // shows current date and time

Вывод

 Пн 06 июл 2020 12:03:49 GMT + 0545 (Непальское время)

Здесь new Date()создается новый объект даты с текущей датой и местным временем.

новая дата (миллисекунды)

DateОбъект содержит число, представляющее миллисекунды с начала 1 января 1970 UTC .

new Date(milliseconds)создает новый объект даты, добавляя миллисекунды к нулевому времени. Например,

 const time1 = new Date(0); // epoch time console.log(time1); // Thu Jan 01 1970 05:30:00 // 100000000000 milliseconds after the epoch time const time2 = new Date(100000000000) console.log(time2); // Sat Mar 03 1973 15:16:40

Примечание : 1000 миллисекунд равны 1 секунде.

новая дата (строка даты)

new Date(date string) создает новый объект даты из строки даты.

В JavaScript обычно существует три формата ввода даты.

Форматы даты ISO

Вы можете создать объект даты, передав форматы даты ISO. Например,

 // ISO Date(International Standard) const date = new Date("2020-07-01"); // the result date will be according to UTC console.log(date); // Wed Jul 01 2020 05:45:00 GMT+0545

Вы также можете передать только год и месяц или только год. Например,

 const date = new Date("2020-07"); console.log(date); // Wed Jul 01 2020 05:45:00 GMT+0545 const date1 = new Date("2020"); console.log(date1); // Wed Jul 01 2020 05:45:00 GMT+0545

Вы также можете указать конкретное время для дат ISO.

 const date = new Date("2020-07-01T12:00:00Z"); console.log(date); // Wed Jul 01 2020 17:45:00 GMT+0545

Примечание : Дата и время разделены с заглавной буквой Т . И UTC время определяется с заглавной Z .

Краткий и длинный формат даты

Два других формата даты - это краткий и длинный формат даты .

 // short date format "MM/DD/YYYY" const date = new Date("03/25/2015"); console.log(date); // Wed Mar 25 2015 00:00:00 GMT+0545 // long date format "MMM DD YYYY" const date1 = new Date("Jul 1 2020"); console.log(date1); // Wed Jul 01 2020 00:00:00 GMT+0545 // month and day can be in any order const date2 = new Date("1 Jul 2020"); console.log(date2); // Wed Jul 01 2020 00:00:00 GMT+0545 // month can be full or abbreviated. Also month names are insensitive. // comma are ignored const date3 = new Date("July 1 2020"); console.log(date3); // Wed Jul 01 2020 00:00:00 GMT+0545 const date4 = new Date("JULY, 1, 2020"); console.log(date4); // Wed Jul 01 2020 00:00:00

новая дата (год, месяц, день, часы, минуты, секунды, миллисекунды)

new Date(year, month,… )создает новый объект даты, передавая конкретную дату и время. Например,

 const time1 = new Date(2020, 1, 20, 4, 12, 11, 0); console.log(time1); // Thu Feb 20 2020 04:12:11

Переданный аргумент имеет определенный порядок.

Если переданы четыре числа, это означает год, месяц, день и часы. Например,

 const time1 = new Date(2020, 1, 20, 4); console.log(time1); // Thu Feb 20 2020 04:00:00

Точно так же, если переданы два аргумента, они представляют год и месяц. Например,

 const time1 = new Date(2020, 1); console.log(time1); // Sat Feb 01 2020 00:00:00

Примечание . Если вы передаете только один аргумент, он обрабатывается как миллисекунды. Следовательно, вы должны передать два аргумента, чтобы использовать этот формат даты.

В JavaScript месяцы считаются от 0 до 11 . Январь - 0, а декабрь - 11 .

Методы даты JavaScript

В объекте JavaScript Date доступны различные методы.

Метод Описание
сейчас же() Возвращает числовое значение, соответствующее текущему времени (количество миллисекунд, прошедших с 1 января 1970 г., 00:00:00 UTC).
getFullYear () Получает год по местному времени
getMonth () Получает месяц от 0 до 11 по местному времени.
getDate () Получает день месяца (1-31) по местному времени
getDay () Получает день недели (0-6) по местному времени
getHours () Получает час от 0 до 23 по местному времени
getMinutes Gets the minute from 0 to 59 according to local time
getUTCDate() Gets the day of the month (1-31) according to universal time
setFullYear() Sets the full year according to local time
setMonth() Sets the month according to local time
setDate() Sets the day of the month according to local time
setUTCDate() Sets the day of the month according to universal time

Example: Date Methods

 const timeInMilliseconds = Date.now(); console.log(timeInMilliseconds); // 1593765214488 const time = new Date; // get day of the month const date = time.getDate(); console.log(date); // 30 // get day of the week const year = time.getFullYear(); console.log(year); // 2020 const utcDate = time.getUTCDate(); console.log(utcDate); // 30 const event = new Date('Feb 19, 2020 23:15:30'); // set the date event.setDate(15); console.log(event.getDate()); // 15 // Only 28 days in February! event.setDate(35); console.log(event.getDate()); // 7

Formatting a Date

Unlike other programming languages, JavaScript does not provide a built-in function for formatting a date.

However, you can extract individual bits and use it like this.

 const currentDate = new Date(); const date = currentDate.getDate(); const month = currentDate.getMonth(); const year = currentDate.getFullYear(); // show in specific format let monthDateYear = (month+1) + '/' + date + '/' + year; console.log(monthDateYear); // 7/3/2020

Note: The above program gives inconsistent length as date and month have single-digit and double-digit.

AutoCorrection in Date Object

When you assign out of range values in the Date object, it auto-corrects itself. For example,

 const date = new Date(2008, 0, 33); // Jan does not have 33 days console.log(date);

Output

 Sat Feb 02 2008

Чтобы узнать больше о дате и времени в JavaScript, посетите Demystifying Date and Time.

Интересные статьи...