JavaScript Date

The Date object in JavaScript is used to work with dates and times. It provides various methods to create, manipulate, and format dates.

1. Creating a Date Object

You can create a Date object using the new Date() constructor in several ways:

1.1. Current Date and Time

let currentDate = new Date();
console.log(currentDate);  // Output: Current date and time

Try It Now

1.2. Specific Date and Time

let specificDate = new Date('2025-01-19T10:20:30Z');
console.log(specificDate);  // Output: Sun Jan 19 2025 10:20:30 GMT+0000 (Coordinated Universal Time)

Try It Now

1.3. Using Year, Month, Day, etc.

let customDate = new Date(2025, 0, 19, 10, 20, 30);
console.log(customDate);  // Output: Sun Jan 19 2025 10:20:30 GMT+0000 (Coordinated Universal Time)

Try It Now

Note: The month is zero-indexed (January is 0).

2. Getting Date and Time Components

The Date object provides several methods to get individual date and time components:

  • getFullYear(): Returns the year.
    console.log(currentDate.getFullYear());  // Output: 2025
    

    Try It Now

  • getMonth(): Returns the month (0-11).
    console.log(currentDate.getMonth());  // Output: 0 (January)
    

    Try It Now

  • getDate(): Returns the day of the month (1-31).
    console.log(currentDate.getDate());  // Output: 19
    

    Try It Now

  • getDay(): Returns the day of the week (0-6).
    console.log(currentDate.getDay());  // Output: 0 (Sunday)
    

    Try It Now

  • getHours(): Returns the hour (0-23).
    console.log(currentDate.getHours());  // Output: 10
    

    Try It Now

  • getMinutes(): Returns the minutes (0-59).
    console.log(currentDate.getMinutes());  // Output: 20
    

    Try It Now

  • getSeconds(): Returns the seconds (0-59).
    console.log(currentDate.getSeconds());  // Output: 30
    

    Try It Now

3. Setting Date and Time Components

You can set individual date and time components using the following methods:

  • setFullYear(year): Sets the year.
    currentDate.setFullYear(2030);
    console.log(currentDate.getFullYear());  // Output: 2030
    

    Try It Now

  • setMonth(month): Sets the month (0-11).
    currentDate.setMonth(6);
    console.log(currentDate.getMonth());  // Output: 6 (July)
    

    Try It Now

  • setDate(day): Sets the day of the month (1-31).
    currentDate.setDate(15);
    console.log(currentDate.getDate());  // Output: 15
    

    Try It Now

  • setHours(hours): Sets the hour (0-23).
    currentDate.setHours(8);
    console.log(currentDate.getHours());  // Output: 8
    

    Try It Now

4. Formatting Dates

JavaScript provides some basic methods to format dates:

  • toDateString(): Converts the date to a readable string.
    console.log(currentDate.toDateString());  // Output: Sun Jan 15 2030
    

    Try It Now

  • toISOString(): Converts the date to an ISO 8601 string.
    console.log(currentDate.toISOString());  // Output: 2030-01-15T08:20:30.000Z
    

    Try It Now

  • toLocaleDateString(): Converts the date to a string based on the local date format.
    console.log(currentDate.toLocaleDateString());  // Output: 1/15/2030
    

    Try It Now

5. Calculating Time Differences

You can calculate the difference between two dates by subtracting them, which returns the difference in milliseconds.

Example: Difference Between Two Dates

let date1 = new Date('2025-01-01');
let date2 = new Date('2025-01-19');
let difference = date2 - date1;

let daysDifference = difference / (1000 * 60 * 60 * 24);
console.log(daysDifference);  // Output: 18

Try It Now

Summary of JavaScript Date

  • new Date(): Used to create a date object with the current date and time or a specific date.
  • getFullYear(), getMonth(), getDate(): Methods to get individual date components.
  • setFullYear(), setMonth(), setDate(): Methods to set individual date components.
  • Formatting: Use toDateString(), toISOString(), and toLocaleDateString() for date formatting.
  • Calculations: Subtract date objects to find the time difference in milliseconds.