Дата и час на 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обекта съдържа редица, който представлява милисекунди след 01 Януари 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, посетете Демистифициране на дата и час.

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