يمثل كائن Date المدمج في جافا سكريبت لحظة زمنية مفردة بدقة المللي ثانية منذ بداية حقبة Unix (1 يناير 1970).
إنشاء كائنات التاريخ
const now = new Date(); // اللحظة الحالية الآن
const epoch = new Date(1730000000000); // من طابع وقت بالمللي ثانية
const iso = new Date('2026-10-25T14:30:00Z'); // من سلسلة نصية قياسية بتنسيق ISO 8601
const custom = new Date(2026, 9, 25, 14, 30); // سنة، شهر (0 هو يناير)، يوم، ساعات، دقائق
دوال استخراج أجزاء التاريخ والوقت (Getters)
| الدالة | الوصف بالتوقيت المحلي | المقابل بتوقيت UTC |
|---|---|---|
getFullYear() |
السنة الكاملة المكونة من 4 أرقام | getUTCFullYear() |
getMonth() |
رقم الشهر (يبدأ من 0 حتى 11) | getUTCMonth() |
getDate() |
يوم الشهر (من 1 حتى 31) | getUTCDate() |
getDay() |
يوم الأسبوع (0 هو الأحد) | getUTCDay() |
getHours() |
الساعات (من 0 حتى 23) | getUTCHours() |
getMinutes() |
الدقائق (من 0 حتى 59) | getUTCMinutes() |
getSeconds() |
الثواني (من 0 حتى 59) | getUTCSeconds() |
getMilliseconds() |
أجزاء الثانية بالمللي ثانية (0-999) | getUTCMilliseconds() |
getTime() |
طابع وقت حقبة Unix بالمللي ثانية | (same timestamp) |
العمليات الحسابية وحساب الفروق الزمنية
// إضافة 7 أيام إلى التاريخ
const target = new Date();
target.setDate(target.getDate() + 7);
// الفرق بين تاريخين بالأيام
const d1 = new Date('2026-10-01');
const d2 = new Date('2026-10-25');
const diffMs = d2 - d1;
const diffDays = Math.floor(diffMs / (1000 * 60 * 60 * 24)); // => 24
التنسيق وعرض التواريخ
const date = new Date('2026-10-25T14:30:00Z');
date.toISOString(); // "2026-10-25T14:30:00.000Z"
date.toDateString(); // "Sun Oct 25 2026"
date.toTimeString(); // "14:30:00 GMT+0000"
date.toLocaleDateString(); // e.g. "10/25/2026"