JavaScript Date Object Cheatsheet
Nwafor Onyebuchi
Posted on November 27, 2024
The Date object in JavaScript is used to work with dates and times. It provides methods to create, manipulate, and format date and time values.
Creating Dates
You can create a Date object in multiple ways:
- Current Date and Time:
const now = new Date();
console.log(now); // Current date and time
- Specific Date:
const specificDate = new Date(2024, 10, 21); // Year, Month (0-based), Day
console.log(specificDate); // Thu Nov 21 2024
- From a String:
const fromString = new Date("2024-11-21T10:00:00");
console.log(fromString); // Thu Nov 21 2024 10:00:00 GMT
- From Timestamps (milliseconds since Unix epoch):
const fromTimestamp = new Date(1732231200000);
console.log(fromTimestamp); // Thu Nov 21 2024 10:00:00 GMT
Common Methods
Getting Date and Time
Method | Description | Example |
---|---|---|
getFullYear() |
Returns the year |
date.getFullYear() -> 2024
|
getMonth() |
Returns the month (0-11) |
date.getMonth() -> 10 (November) |
getDate() |
Returns the day of the month (1-31) |
date.getDate() -> 21
|
getDay() |
Returns the weekday (0-6, Sun=0) |
date.getDay() -> 4 (Thursday) |
getHours() |
Returns the hour (0-23) |
date.getHours() -> 10
|
getMinutes() |
Returns the minutes (0-59) |
date.getMinutes() -> 0
|
getSeconds() |
Returns the seconds (0-59) |
date.getSeconds() -> 0
|
getTime() |
Returns timestamp in milliseconds |
date.getTime() -> 1732231200000
|
Setting Date and Time
Method | Description | Example |
---|---|---|
setFullYear(year) |
Sets the year | date.setFullYear(2025) |
setMonth(month) |
Sets the month (0-11) |
date.setMonth(0) -> January |
setDate(day) |
Sets the day of the month |
date.setDate(1) -> First day of the month |
setHours(hour) |
Sets the hour (0-23) | date.setHours(12) |
setMinutes(minutes) |
Sets the minutes (0-59) | date.setMinutes(30) |
setSeconds(seconds) |
Sets the seconds (0-59) | date.setSeconds(45) |
Formatting Dates
Method | Description | Example |
---|---|---|
toDateString() |
Returns date as a human-readable string |
date.toDateString() -> "Thu Nov 21 2024"
|
toISOString() |
Returns date in ISO format |
date.toISOString() -> "2024-11-21T10:00:00.000Z"
|
toLocaleDateString() |
Returns date in localized format |
date.toLocaleDateString() -> "11/21/2024"
|
toLocaleTimeString() |
Returns time in localized format |
date.toLocaleTimeString() -> "10:00:00 AM"
|
Common Use Cases
- Calculate Days Between Two Dates:
const startDate = new Date("2024-11-01");
const endDate = new Date("2024-11-21");
const diffInTime = endDate - startDate; // Difference in milliseconds
const diffInDays = diffInTime / (1000 * 60 * 60 * 24); // Convert to days
console.log(diffInDays); // 20
- Countdown Timer:
const targetDate = new Date("2024-12-31T23:59:59");
setInterval(() => {
const now = new Date();
const timeLeft = targetDate - now; // Milliseconds left
const days = Math.floor(timeLeft / (1000 * 60 * 60 * 24));
const hours = Math.floor((timeLeft / (1000 * 60 * 60)) % 24);
const minutes = Math.floor((timeLeft / (1000 * 60)) % 60);
const seconds = Math.floor((timeLeft / 1000) % 60);
console.log(`${days}d ${hours}h ${minutes}m ${seconds}s`);
}, 1000);
- Format Current Date:
const now = new Date();
const formatted = `${now.getFullYear()}-${now.getMonth() + 1}-${now.getDate()}`;
console.log(formatted); // "2024-11-21"
- Find the Day of the Week:
const date = new Date("2024-11-21");
const days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
console.log(days[date.getDay()]); // "Thursday"
- Check Leap Year:
const isLeapYear = (year) => {
return (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0);
};
console.log(isLeapYear(2024)); // true
- Add/Subtract Days:
const addDays = (date, days) => {
const result = new Date(date);
result.setDate(result.getDate() + days);
return result;
};
console.log(addDays(new Date(), 10)); // Adds 10 days to the current date
Pro Tips
- Use
Date.now()
to get the current timestamp directly without creating aDate
object:
console.log(Date.now()); // Timestamp in milliseconds
Be mindful of time zones when working with dates across regions. Use libraries like Moment.js or Day.js for advanced handling.
To avoid month off-by-one errors, remember that months are 0-indexed (
0 = January
,11 = December
).
💖 💪 🙅 🚩
Nwafor Onyebuchi
Posted on November 27, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
javascript Angular 19 is Here, Next.js From China, NEWEST JavaScript Engine and more
November 24, 2024