Dates

در جاوااسکریپت، برای کار با تاریخ و زمان از شیء Date استفاده می‌کنیم.

🔹 ساخت شیء تاریخ

// تاریخ و زمان فعلی let now = new Date(); console.log(now); // تاریخ مشخص (سال، ماه، روز، ساعت، دقیقه، ثانیه، میلی‌ثانیه) let d1 = new Date(2025, 7, 29, 14, 30, 0); // ماه از 0 شروع میشه → 7 یعنی August console.log(d1); // با رشته تاریخ let d2 = new Date("2025-08-29T14:30:00"); console.log(d2); // با timestamp (میلی‌ثانیه از 1 Jan 1970) let d3 = new Date(1693300200000); console.log(d3);

🔹 متدهای گرفتن اطلاعات تاریخ

let date = new Date(); console.log(date.getFullYear()); // سال (مثلاً 2025) console.log(date.getMonth()); // ماه (0-11) → 0=Jan console.log(date.getDate()); // روز ماه (1-31) console.log(date.getDay()); // روز هفته (0=Sunday) console.log(date.getHours()); // ساعت (0-23) console.log(date.getMinutes()); // دقیقه (0-59) console.log(date.getSeconds()); // ثانیه (0-59) console.log(date.getMilliseconds()); // میلی‌ثانیه (0-999) console.log(date.getTime()); // زمان به میلی‌ثانیه از 1970

🔹 متدهای تغییر تاریخ

let date = new Date(); date.setFullYear(2030); // تغییر سال date.setMonth(11); // تغییر ماه (0-11) date.setDate(25); // تغییر روز date.setHours(18); // تغییر ساعت date.setMinutes(45); // تغییر دقیقه console.log(date);

🔹 فرمت کردن تاریخ

let date = new Date(); console.log(date.toDateString()); // Fri Aug 29 2025 console.log(date.toTimeString()); // 14:35:07 GMT+0000 console.log(date.toISOString()); // 2025-08-29T14:35:07.123Z console.log(date.toLocaleDateString()); // فرمت محلی (مثلاً 8/29/2025) console.log(date.toLocaleTimeString()); // فرمت ساعت محلی

🔹 کاربردهای مهم

  1. محاسبه اختلاف بین دو تاریخ

let d1 = new Date("2025-08-29"); let d2 = new Date("2025-09-05"); let diff = d2 - d1; // به میلی‌ثانیه let days = diff / (1000 * 60 * 60 * 24); console.log(days); // 7

  1. نمایش تایمر یا شمارش معکوس

  2. ثبت زمان فعلی (Timestamp) برای دیتابیس یا لاگ