JavaScript Datum en tijd

In deze tutorial leert u met behulp van voorbeelden over datum en tijd in JavaScript.

In JavaScript worden datum en tijd vertegenwoordigd door het Dateobject. Het Dateobject geeft de datum- en tijdinformatie en biedt ook verschillende methoden.

Een JavaScript-datum definieert het EcmaScript-tijdperk dat milliseconden vertegenwoordigt sinds 1 januari 1970 UTC . Deze datum en tijd zijn hetzelfde als het UNIX-epoch (overheersende basiswaarde voor door de computer geregistreerde datum- en tijdwaarden).

Datumobjecten maken

Er zijn vier manieren om een ​​datumobject te maken.

  • nieuwe datum()
  • nieuwe datum (milliseconden)
  • nieuwe datum (datumreeks)
  • nieuwe datum (jaar, maand, dag, uren, minuten, seconden, milliseconden)

nieuwe datum()

U kunt een date-object maken met de new Date()constructor. Bijvoorbeeld,

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

Uitvoer

 Ma 06 jul 2020 12:03:49 GMT + 0545 (Nepalese tijd)

Hier, new Date()creëert een nieuwe datum object met de huidige datum en lokale tijd.

nieuwe datum (milliseconden)

Het Dateobject bevat een getal dat milliseconden vertegenwoordigt sinds 1 januari 1970 UTC .

new Date(milliseconds)maakt een nieuw datumobject aan door de milliseconden toe te voegen aan de tijd nul. Bijvoorbeeld,

 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

Opmerking : 1000 milliseconden is gelijk aan 1 seconde.

nieuwe datum (datumreeks)

new Date(date string) maakt een nieuw datumobject aan op basis van een datumreeks.

In JavaScript zijn er over het algemeen drie datuminvoerformaten.

ISO-datumnotaties

U kunt een datumobject maken door ISO-datumnotaties door te geven. Bijvoorbeeld,

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

U kunt ook alleen het jaar en de maand of alleen het jaar doorgeven. Bijvoorbeeld,

 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

U kunt ook specifieke tijd doorgeven aan ISO-datums.

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

Opmerking : De datum en tijd worden gescheiden met hoofdletter T . En UTC-tijd wordt gedefinieerd met een hoofdletter Z .

Korte en lange datumnotatie

De andere twee datumnotaties zijn een korte datumnotatie en een lange datumnotatie .

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

nieuwe datum (jaar, maand, dag, uren, minuten, seconden, milliseconden)

new Date(year, month,… )maakt een nieuw datumobject aan door een specifieke datum en tijd door te geven. Bijvoorbeeld,

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

Het doorgegeven argument heeft een specifieke volgorde.

Als vier cijfers worden doorgegeven, vertegenwoordigt dit jaar, maand, dag en uren. Bijvoorbeeld,

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

Evenzo, als twee argumenten worden doorgegeven, vertegenwoordigt dit jaar en maand. Bijvoorbeeld,

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

Opmerking : als u slechts één argument doorgeeft, wordt dit behandeld als milliseconden. Daarom moet u twee argumenten doorgeven om dit datumnotatie te gebruiken.

In JavaScript worden maanden geteld van 0 tot 11 . Januari is 0 en december is 11 .

JavaScript-datummethoden

Er zijn verschillende methoden beschikbaar in het JavaScript Date-object.

Methode Omschrijving
nu() Retourneert de numerieke waarde die overeenkomt met de huidige tijd (het aantal milliseconden dat is verstreken sinds 1 januari 1970 00:00:00 UTC)
getFullYear () Haalt het jaar op basis van de lokale tijd
getMonth () Haalt de maand, van 0 tot 11 volgens lokale tijd
krijg datum() Berekent de dag van de maand (1-31) volgens de lokale tijd
getDay () Haalt de dag van de week (0-6) op basis van de lokale tijd
getHours () Haalt het uur van 0 tot 23 volgens de lokale tijd
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

Voor meer informatie over de datum en tijd in JavaScript, ga naar Demystifying Date and Time.

Interessante artikelen...