JavaScript Date Reference
Complete reference guide for JavaScript Date methods
📚 JavaScript Date Reference
This is a complete reference guide for all JavaScript Date methods, properties, and constructors. Use this as your quick lookup guide.
// Date object provides many methods
let date = new Date();
console.log("Methods available:", Object.getOwnPropertyNames(Date.prototype).length);
Date Constructor
Different ways to create Date objects:
// Current date and time
let now = new Date();
// From string
let date1 = new Date("2024-03-15");
let date2 = new Date("March 15, 2024");
let date3 = new Date("2024-03-15T14:30:00");
// From numbers (year, month, day, hour, minute, second, millisecond)
let date4 = new Date(2024, 2, 15); // March 15, 2024
let date5 = new Date(2024, 2, 15, 14, 30); // March 15, 2024 14:30
let date6 = new Date(2024, 2, 15, 14, 30, 25, 500); // Full precision
// From milliseconds since Jan 1, 1970
let date7 = new Date(1710504600000);
🔹 Get Methods (Local Time)
Date Components
let date = new Date("2024-03-15 14:30:25.500");
date.getFullYear() // 2024
date.getMonth() // 2 (0-based)
date.getDate() // 15
date.getDay() // 5 (0=Sun, 6=Sat)
Time Components
date.getHours() // 14
date.getMinutes() // 30
date.getSeconds() // 25
date.getMilliseconds() // 500
Special Methods
date.getTime() // Milliseconds since 1970
date.getTimezoneOffset() // Minutes from UTC
date.valueOf() // Same as getTime()
🔹 Set Methods (Local Time)
Date Components
let date = new Date();
date.setFullYear(2025)
date.setFullYear(2025, 11, 25) // Year, month, day
date.setMonth(11) // December (0-based)
date.setMonth(11, 25) // Month, day
date.setDate(25) // Day of month
Time Components
date.setHours(14)
date.setHours(14, 30, 25, 500) // h, m, s, ms
date.setMinutes(30)
date.setMinutes(30, 25, 500) // m, s, ms
date.setSeconds(25)
date.setSeconds(25, 500) // s, ms
date.setMilliseconds(500)
Special Methods
date.setTime(1710504600000) // Set from milliseconds
🔹 UTC Methods
All get and set methods have UTC equivalents:
UTC Get Methods:
-
getUTCFullYear(),getUTCMonth(),getUTCDate(),getUTCDay() -
getUTCHours(),getUTCMinutes(),getUTCSeconds(),getUTCMilliseconds()
UTC Set Methods:
-
setUTCFullYear(),setUTCMonth(),setUTCDate() -
setUTCHours(),setUTCMinutes(),setUTCSeconds(),setUTCMilliseconds()
let date = new Date();
// Local vs UTC comparison
console.log("Local hours:", date.getHours());
console.log("UTC hours:", date.getUTCHours());
// Setting UTC time
date.setUTCHours(12, 0, 0, 0); // Noon UTC
🔹 String Conversion Methods
let date = new Date("2024-03-15 14:30:25");
// Basic string methods
date.toString() // "Fri Mar 15 2024 14:30:25 GMT-0500 (EST)"
date.toDateString() // "Fri Mar 15 2024"
date.toTimeString() // "14:30:25 GMT-0500 (EST)"
// ISO and UTC strings
date.toISOString() // "2024-03-15T19:30:25.000Z"
date.toUTCString() // "Fri, 15 Mar 2024 19:30:25 GMT"
// Locale-specific strings
date.toLocaleDateString() // "3/15/2024" (US format)
date.toLocaleTimeString() // "2:30:25 PM"
date.toLocaleString() // "3/15/2024, 2:30:25 PM"
// JSON format
date.toJSON() // "2024-03-15T19:30:25.000Z"
Output Examples:
toString():
Fri Mar 15 2024 14:30:25 GMT-0500 (EST)
toDateString():
Fri Mar 15 2024
toTimeString():
14:30:25 GMT-0500 (EST)
toISOString():
2024-03-15T19:30:25.000Z
toLocaleDateString():
3/15/2024
🔹 Static Methods
Methods called on the Date constructor itself:
// Get current timestamp
Date.now() // Current milliseconds since 1970
// Parse date strings
Date.parse("2024-03-15") // Convert string to milliseconds
Date.parse("March 15, 2024") // Also works with various formats
// Create UTC date
Date.UTC(2024, 2, 15, 14, 30) // UTC milliseconds for Mar 15, 2024 14:30
console.log("Now:", Date.now());
console.log("Parsed:", Date.parse("2024-03-15"));
console.log("UTC:", Date.UTC(2024, 2, 15));
Output:
Now: 1710504600000
Parsed: 1710460800000
UTC: 1710460800000
🔹 Common Date Patterns
// Current date/time
let now = new Date();
let today = new Date().toDateString();
let timestamp = Date.now();
// Date arithmetic
let tomorrow = new Date();
tomorrow.setDate(tomorrow.getDate() + 1);
let nextWeek = new Date();
nextWeek.setDate(nextWeek.getDate() + 7);
let nextMonth = new Date();
nextMonth.setMonth(nextMonth.getMonth() + 1);
// Date comparison
let date1 = new Date("2024-03-15");
let date2 = new Date("2024-03-20");
console.log(date1 < date2); // true
console.log(date1.getTime() === date2.getTime()); // false
// Format date as YYYY-MM-DD
function formatDate(date) {
return date.getFullYear() + '-' +
String(date.getMonth() + 1).padStart(2, '0') + '-' +
String(date.getDate()).padStart(2, '0');
}
// Check if date is today
function isToday(date) {
let today = new Date();
return date.toDateString() === today.toDateString();
}
// Days between dates
function daysBetween(date1, date2) {
let diffTime = Math.abs(date2 - date1);
return Math.ceil(diffTime / (1000 * 60 * 60 * 24));
}
🔹 Quick Reference Table
| Method | Description | Returns |
|---|---|---|
getFullYear()
|
Get 4-digit year | 2024 |
getMonth()
|
Get month (0-11) | 0-11 |
getDate()
|
Get day of month | 1-31 |
getDay()
|
Get day of week | 0-6 (Sun-Sat) |
getHours()
|
Get hours | 0-23 |
getTime()
|
Get milliseconds since 1970 | Number |
Date.now()
|
Current timestamp | Number |