Skip to content

Working with Dates & Time in JavaScript

Creating a Date

const date = new Date();
console.log(date); // 2025-05-09T19:07:23.000Z
const date = new Date('2025-05-09');
console.log(date); // 2025-05-09T19:07:23.000Z
const date = new Date('2025-05-09T19:07:23.000Z');
console.log(date); // 2025-05-09T19:07:23.000Z

Getters & Setters

Getters

const date = new Date();

date.getDate(); // 9
date.getMonth(); // 4
date.getFullYear(); // 2025

date.getHours(); // 19
date.getMinutes(); // 7
date.getSeconds(); // 23
date.getMilliseconds(); // 0

// ms since epoch
date.getTime(); // 1746864443000 

// Get the difference between UTC time and local time (in minutes)
date.getTimezoneOffset(); // -180 minutes

Setters

const date = new Date();

date.setFullYear(2026); // 2026
date.setMonth(5); // 5
date.setDate(1); // 1
date.setHours(12); // 12
date.setMinutes(30); // 30
date.setSeconds(0); // 0
date.setMilliseconds(0); // 0

Comparing Dates

const date1 = new Date('2025-05-09');
const date2 = new Date('2025-05-10');

console.log(date1 < date2); // true
console.log(date1 > date2); // false
console.log(date1 <= date2); // true
console.log(date1 >= date2); // false

Other

// Get timestamp in milliseconds
const timestamp = new Date().getTime();
console.log(timestamp); // 1746864443000

Formatting Dates

const d = new Date();

d.toISOString();        // '2025-05-09T07:30:00.000Z'
d.toDateString();       // 'Fri May 09 2025'
d.toTimeString();       // '10:30:00 GMT+0000 (UTC)'
d.toUTCString();        // 'Fri, 09 May 2025 07:30:00 GMT'
d.toLocaleDateString(); // Locale-based format
d.toLocaleTimeString(); // Locale-based time

Date Calculations

Add Days

const date = new Date();
const daysToAdd = 5;

date.setDate(date.getDate() + daysToAdd);
console.log(date); // 2025-05-14T19:07:23.000Z

Add Hours

const date = new Date();
const hoursToAdd = 5;

date.setHours(date.getHours() + hoursToAdd);
console.log(date); // 2025-05-09T24:07:23.000Z

Calculate Difference in Days

To calculate the difference in days between two dates, we can subtract the first date from the second date in milliseconds and then divide by the number of milliseconds in a day.

// Calculate difference between dates (in milliseconds)
const date1 = new Date('2025-05-09T12:00:00Z');
const date2 = new Date('2025-05-10T12:00:00Z');
const diffMs = date2 - date1;            // 86400000 (milliseconds in a day)
const diffDays = diffMs / (1000 * 60 * 60 * 24); // 1 (day)
console.log(diffDays); // 1

Calculate Difference in Hours

// Calculate difference between dates (in milliseconds)
const date1 = new Date('2025-05-09T12:00:00Z');
const date2 = new Date('2025-05-10T12:00:00Z');

const diffMs = date2 - date1;            // 86400000 (milliseconds in a day)

const diffHours = diffMs / (1000 * 60 * 60); // 24 (hours)
console.log(diffHours); // 24