JavaScript dato og klokkeslæt

I denne vejledning lærer du om dato og klokkeslæt i JavaScript ved hjælp af eksempler.

I JavaScript er dato og klokkeslæt repræsenteret af Dateobjektet. Den Dategenstand indeholder dato og klokkeslæt information og også giver forskellige metoder.

En JavaScript-dato definerer EcmaScript-epoken, der repræsenterer millisekunder siden 1. januar 1970 UTC . Denne dato og tid er den samme som UNIX-epoken (dominerende basisværdi for computeroptagede dato- og tidsværdier).

Oprettelse af datoobjekter

Der er fire måder at oprette et datoobjekt på.

  • ny dato ()
  • ny dato (millisekunder)
  • ny dato (datostreng)
  • ny dato (år, måned, dag, timer, minutter, sekunder, millisekunder)

ny dato ()

Du kan oprette et datoobjekt ved hjælp af new Date()konstruktøren. For eksempel,

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

Produktion

 Man Jul 06 2020 12:03:49 GMT + 0545 (Nepal Tid)

Her new Date()opretter et nyt datoobjekt med den aktuelle dato og lokal tid.

ny dato (millisekunder)

Den Dategenstand indeholder et tal, der repræsenterer millisekunder siden 1 Januar 1970 UTC .

new Date(milliseconds)opretter et nyt datoobjekt ved at tilføje millisekunder til nul-tiden. For eksempel,

 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

Bemærk : 1000 millisekunder er lig med 1 sekund.

ny dato (dato streng)

new Date(date string) opretter et nyt datoobjekt ud fra en datostreng.

I JavaScript er der generelt tre datoindgangsformater.

ISO-datoformater

Du kan oprette et datoobjekt ved at sende ISO-datoformater. For eksempel,

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

Du kan også bestå kun året og måneden eller kun året. For eksempel,

 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

Du kan også overføre bestemt tid til ISO-datoer.

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

Bemærk : Dato og tid er adskilt med stort bogstav T . Og UTC-tid defineres med kapital Z .

Kort og lang datoformat

De to andre datoformater er kortformat og langt datoformat .

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

ny dato (år, måned, dag, timer, minutter, sekunder, millisekunder)

new Date(year, month,… )opretter et nyt datoobjekt ved at videregive en bestemt dato og tid. For eksempel,

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

Det godkendte argument har en bestemt rækkefølge.

Hvis fire tal er bestået, repræsenterer det år, måned, dag og timer. For eksempel,

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

Tilsvarende repræsenterer det år og måned, hvis der gives to argumenter. For eksempel,

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

Bemærk : Hvis du kun videregiver ét argument, behandles det som millisekunder. Derfor skal du videregive to argumenter for at bruge dette datoformat.

I JavaScript tælles måneder fra 0 til 11 . Januar er 0 og december er 11 .

JavaScript-datometoder

Der findes forskellige metoder i JavaScript Date-objektet.

Metode Beskrivelse
nu() Returnerer den numeriske værdi svarende til den aktuelle tid (antallet af forløbne millisekunder siden 1. januar 1970 00:00:00 UTC)
getFullYear () Får året efter lokal tid
getMonth () Får måneden fra 0 til 11 i henhold til lokal tid
getDate () Får månedsdagen (1-31) i henhold til lokal tid
getDay () Får ugedagen (0-6) i henhold til lokal tid
getHours () Får timen fra 0 til 23 i henhold til lokal tid
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

Hvis du vil lære mere om dato og klokkeslæt i JavaScript, skal du besøge Afmystificering af dato og klokkeslæt.

Interessante artikler...