JavaScript datums un laiks

Šajā apmācībā jūs uzzināsit par datumu un laiku JavaScript ar piemēru palīdzību.

JavaScript valodā datumu un laiku attēlo Dateobjekts. DateObjekts nodrošina datuma un laika informāciju, kā arī nodrošina dažādas metodes.

JavaScript datums nosaka EcmaScript laikmetu, kas atspoguļo milisekundes kopš 1970. gada 1. janvāra pēc UTC . Šis datums un laiks ir tāds pats kā UNIX laikmets (dominējošā bāzes vērtība datorā ierakstītajām datuma un laika vērtībām).

Datuma objektu izveide

Ir četri veidi, kā izveidot datuma objektu.

  • jauns datums ()
  • jauns datums (milisekundes)
  • jauns datums (datuma virkne)
  • jauns datums (gads, mēnesis, diena, stundas, minūtes, sekundes, milisekundes)

jauns datums ()

Datuma objektu var izveidot, izmantojot new Date()konstruktoru. Piemēram,

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

Rezultāts

 Pirmdiena, 2020. gada 6. jūlijs 12:03:49 GMT + 0545 (Nepālas laiks)

Šeit new Date()izveido jaunu datuma objektu ar pašreizējo datumu un vietējo laiku.

jauns datums (milisekundes)

DateObjekts satur skaitli, kas pārstāv milisekundes kopš 1970. gada 1. janvāra UTC .

new Date(milliseconds)izveido jaunu datuma objektu, pievienojot milisekundes nulles laikam. Piemēram,

 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

Piezīme : 1000 milisekundes ir vienādas ar 1 sekundi.

jauns datums (datuma virkne)

new Date(date string) izveido jaunu datuma objektu no datuma virknes.

JavaScript parasti ir trīs datuma ievades formāti.

ISO datuma formāti

Datuma objektu var izveidot, nododot ISO datuma formātus. Piemēram,

 // 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

Varat arī iziet tikai gadu un mēnesi vai tikai gadu. Piemēram,

 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

Varat arī nodot noteiktu laiku ISO datumiem.

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

Piezīme : Datums un laiks tiek atdalītas ar lielo burtu T . Un UTC laiks ir noteikts ar kapitāla Z .

Īsā un garā datuma formāts

Pārējie divi datuma formāti ir īsa datuma formāts un gara datuma formāts .

 // 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

jauns datums (gads, mēnesis, diena, stundas, minūtes, sekundes, milisekundes)

new Date(year, month,… )izveido jaunu datuma objektu, nododot noteiktu datumu un laiku. Piemēram,

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

Pieņemtajam argumentam ir noteikta kārtība.

Ja tiek nodoti četri skaitļi, tas apzīmē gadu, mēnesi, dienu un stundas. Piemēram,

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

Līdzīgi, ja tiek pieņemti divi argumenti, tas apzīmē gadu un mēnesi. Piemēram,

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

Piezīme . Ja nododat tikai vienu argumentu, tas tiek uzskatīts par milisekundēm. Tādējādi, lai izmantotu šo datuma formātu, jums ir jānorāda divi argumenti.

JavaScript valodā mēneši tiek skaitīti no 0 līdz 11 . Janvāris ir 0, bet decembris - 11 .

JavaScript datuma metodes

JavaScript datuma objektā ir pieejamas dažādas metodes.

Metode Apraksts
tagad () Atgriež skaitlisko vērtību, kas atbilst pašreizējam laikam (milisekunžu skaits, kas pagājis kopš 1970. gada 1. janvāra 00:00:00 UTC)
getFullYear () Gads tiek iegūts pēc vietējā laika
getMonth () Saņem mēnesi no 0 līdz 11 pēc vietējā laika
getDate () Tiek saņemta mēneša diena (1-31) pēc vietējā laika
getDay () Tiek saņemta nedēļas diena (0–6) pēc vietējā laika
getHours () Gūst stundu no 0 līdz 23 pēc vietējā laika
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

Lai uzzinātu vairāk par datumu un laiku JavaScript, apmeklējiet datuma un laika demistifikāciju.

Interesanti raksti...