Дата та час JavaScript

У цьому посібнику ви дізнаєтесь про дату та час у JavaScript за допомогою прикладів.

У JavaScript дата та час представлені Dateоб’єктом. DateОб'єкт містить інформацію про дату і час , а також різні методи.

Дата JavaScript визначає епоху EcmaScript, яка представляє мілісекунди з 1 січня 1970 р. За UTC . Ця дата та час збігаються з епохою 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

У об’єкті Дата дати доступні різні методи.

Метод Опис
зараз () Повертає числове значення, що відповідає поточному часу (кількість мілісекунд, що минули з 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, відвідайте Демістифікацію дати та часу.

Цікаві статті...