const date = new Date(); // Current date for all examples
// Create
const date = new Date(); // Current date/time // (2024-12-25T14:30:45.123Z)
const date2 = new Date("2024-12-25"); // Specific date
const date3 = new Date(2024, 11, 25); // Year, month(0-11), day
const date4 = new Date(1734567890123); // From timestamp
const date5 = Date.now(); // Current timestamp (number)
// Get Date Components (RETURNS NUMBER)
date.getFullYear(); // 2024
date.getMonth(); // 11 (0-11, December = 11)
date.getDate(); // 25 (day of month 1-31)
date.getDay(); // 3 (day of week 0-6, Sunday = 0)
date.getHours(); // 14 (0-23)
date.getMinutes(); // 30 (0-59)
date.getSeconds(); // 45 (0-59)
date.getMilliseconds(); // 123 (0-999)
date.getTime(); // 1734567890123 (timestamp)
// Set Date Components (MUTATES ORIGINAL)
date.setFullYear(2025); // Sets year to 2025 - MUTATES
date.setMonth(0); // Sets month to January - MUTATES
date.setDate(15); // Sets day to 15th - MUTATES
date.setHours(10); // Sets hour to 10 - MUTATES
date.setMinutes(30); // Sets minutes to 30 - MUTATES
date.setSeconds(0); // Sets seconds to 0 - MUTATES
date.setMilliseconds(0); // Sets milliseconds to 0 - MUTATES
date.setTime(1734567890123); // Sets from timestamp - MUTATES
// Format to String (RETURNS STRING)
date.toString(); // "Wed Dec 25 2024 14:30:45 GMT+0500"
date.toDateString(); // "Wed Dec 25 2024"
date.toTimeString(); // "14:30:45 GMT+0500"
date.toISOString(); // "2024-12-25T09:30:45.123Z"
// Static Methods (RETURNS NUMBER OR DATE)
Date.now(); // 1734567890123 (current timestamp)
Date.parse("2024-12-25"); // 1735084800000 (timestamp from string)
// Compare Dates (RETURNS BOOLEAN/NUMBER)
date1 > date2; // true/false
date1.getTime() > date2.getTime(); // true/false
date1 - date2; // Difference in milliseconds
// Locale Formatting (RETURNS STRING)
date.toLocaleDateString("fr-MA", {
year: 'numeric',
month: 'long',
day: 'numeric',
weekday: 'long'
}); // "mercredi 25 décembre 2024"
// Common Patterns
new Date().toISOString().split('T')[0]; // "2024-12-25" (date only)
new Date(Date.now() + 86400000); // Tomorrow
new Date().setHours(0,0,0,0); // Start of today - MUTATES