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

🧠 Test Your Knowledge

Which method returns the current timestamp?