JavaScript datum och tid

I den här handledningen lär du dig om datum och tid i JavaScript med hjälp av exempel.

I JavaScript representeras datum och tid av Dateobjektet. I Dateobjektet ger information datum och tid och ger också olika metoder.

Ett JavaScript-datum definierar EcmaScript-epoken som representerar millisekunder sedan 1 januari 1970 UTC . Detta datum och tid är samma som UNIX-epoken (dominerande basvärde för datorinspelade datum- och tidsvärden).

Skapa datumobjekt

Det finns fyra sätt att skapa ett datumobjekt.

  • nytt datum ()
  • nytt datum (millisekunder)
  • nytt datum (datumsträng)
  • nytt datum (år, månad, dag, timmar, minuter, sekunder, millisekunder)

nytt datum ()

Du kan skapa ett datumobjekt med hjälp av new Date()konstruktören. Till exempel,

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

Produktion

 Mån 06 jul 2020 12:03:49 GMT + 0545 (Nepal Time)

Här new Date()skapas ett nytt Date-objekt med dagens datum och lokal tid.

nytt datum (millisekunder)

I Dateobjektet innehåller ett antal som representerar millisekunder sedan 1 Januari 1970 UTC .

new Date(milliseconds)skapar ett nytt datumobjekt genom att lägga till millisekunder till nolltiden. Till exempel,

 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

Obs! 1000 millisekunder är lika med 1 sekund.

nytt datum (datumsträng)

new Date(date string) skapar ett nytt datumobjekt från en datumsträng.

I JavaScript finns det vanligtvis tre datuminmatningsformat.

ISO-datumformat

Du kan skapa ett datumobjekt genom att skicka ISO-datumformat. Till exempel,

 // 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 också klara endast året och månaden eller bara året. Till exempel,

 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 också överföra specifik tid till ISO-datum.

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

Obs : Datum och tid är separerade med versalt T . Och UTC-tid definieras med kapital Z .

Kort och lång datumformat

De andra två datumformaten är kortformat och långt datumformat .

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

nytt datum (år, månad, dag, timmar, minuter, sekunder, millisekunder)

new Date(year, month,… )skapar ett nytt datumobjekt genom att passera specifikt datum och tid. Till exempel,

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

Det godkända argumentet har en specifik ordning.

Om fyra siffror är godkända representerar det år, månad, dag och timmar. Till exempel,

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

På samma sätt, om två argument skickas, representerar det år och månad. Till exempel,

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

Note: If you pass only one argument, it is treated as milliseconds. Hence, you have to pass two arguments to use this date format.

In JavaScript, months are counted from 0 to 11. January is 0 and December is 11.

JavaScript Date Methods

There are various methods available in JavaScript Date object.

Method Description
now() Returns the numeric value corresponding to the current time (the number of milliseconds elapsed since January 1, 1970 00:00:00 UTC)
getFullYear() Gets the year according to local time
getMonth() Gets the month, from 0 to 11 according to local time
getDate() Gets the day of the month (1-31) according to local time
getDay() Gets the day of the week (0-6) according to local time
getHours() Gets the hour from 0 to 23 according to local time
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

För att lära dig mer om datum och tid i JavaScript, besök avmystifierande datum och tid.

Intressanta artiklar...