0Pricing
JavaScript Academy · درس

الطوابع الزمنية وحسابات التاريخ

احسبوا الفروق والإزاحات بين التواريخ.

الطوابع الزمنية وحسابات التاريخ درس مجاني في JavaScript Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في JavaScript Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة JavaScript Academy 4 دروس في المجموع.

الطوابع الزمنية

يُخزَّن التاريخ داخليًا على شكل طابع زمني: عدد المللي ثواني منذ حقبة Unix، أي منذ منتصف الليل في 1 يناير 1970 بالتوقيت العالمي المنسق UTC.

const d = new Date("1970-01-01T00:00:00Z")
console.log(d.getTime())

Date.now

يعيد Date.now الطابع الزمني الحالي بالمللي ثواني من دون إنشاء كائن Date، مما يجعله فعالًا لقياس الوقت.

const t = Date.now()
console.log(typeof t)
console.log(t > 0)

getTime

تعيد طريقة getTime الطابع الزمني لكائن التاريخ بالمللي ثواني، وهي مفيدة للمقارنة وإجراء العمليات الحسابية.

const d = new Date(2024, 0, 1)
console.log(typeof d.getTime())

مقارنة التواريخ

قارن تاريخين بمقارنة طوابع زمنيهما. ويملك التاريخ الأسبق الرقم الأصغر.

const a = new Date(2024, 0, 1)
const b = new Date(2024, 5, 1)
console.log(a.getTime() < b.getTime())

الفرق بالمللي ثواني

يحوّل طرح تاريخ من تاريخ آخر كليهما إلى طابعين زمنيين، وينتج الفرق بالمللي ثواني.

const a = new Date(2024, 0, 1)
const b = new Date(2024, 0, 2)
console.log(b - a)

التحويل إلى أيام

اقسم الفرق بالمللي ثواني على عدد المللي ثواني في اليوم للحصول على الفاصل الزمني بالأيام.

const a = new Date(2024, 0, 1)
const b = new Date(2024, 0, 11)
const ms = b - a
const days = ms / (1000 * 60 * 60 * 24)
console.log(days)

إضافة وقت

لإضافة وقت، حوّل التاريخ إلى طابع زمني، وأضف مقدار المللي ثواني، ثم أنشئ تاريخًا جديدًا من الناتج.

const start = new Date(2024, 0, 1)
const oneDay = 1000 * 60 * 60 * 24
const next = new Date(start.getTime() + oneDay)
console.log(next.getDate())

استخدام setDate في العمليات الحسابية للتقويم

تعدل طريقة setDate يوم الشهر، وتنتقل بشكل صحيح إلى الشهر التالي عند الحاجة.

const d = new Date(2024, 0, 31)
d.setDate(d.getDate() + 1)
console.log(d.getMonth())
console.log(d.getDate())

قياس الوقت المنقضي

التقط قيمة Date.now قبل العملية وبعدها، ثم اطرح القيمتين لقياس المدة التي استغرقتها بالمللي ثواني.

const start = Date.now()
let sum = 0
for (let i = 0; i < 1000; i++) { sum += i }
const elapsed = Date.now() - start
console.log(elapsed >= 0)

من الطابع الزمني إلى Date

تؤدي تمرير طابع زمني رقمي إلى مُنشئ Date إلى إعادة إنشاء اللحظة الأصلية.

const ts = 1704067200000
const d = new Date(ts)
console.log(d.getUTCFullYear())

الثواني مقابل المللي ثواني

تُقاس الطوابع الزمنية في JavaScript بالمللي ثواني، لكن العديد من واجهات برمجة التطبيقات تستخدم الثواني. اضرب في 1000 أو اقسم عليه للتحويل بينهما.

const seconds = 1704067200
const d = new Date(seconds * 1000)
console.log(d.getUTCFullYear())

اختبار سريع

اختبر معرفتك بالطوابع الزمنية.

مراجعة

مراجعة: التواريخ عبارة عن طوابع زمنية بالمللي ثواني في جوهرها.

  • يعيد Date.now الطابع الزمني الحالي
  • اطرح تاريخًا من آخر للحصول على الفرق بالمللي ثواني
  • اقسم على عدد مللي ثواني اليوم للحصول على عدد الأيام
  • تستخدم JavaScript المللي ثواني، وليس الثواني
const a = new Date(2024, 0, 1)
const b = new Date(2024, 0, 2)
console.log(b - a)

الأسئلة الشائعة

هل درس «الطوابع الزمنية وحسابات التاريخ» مجاني؟

نعم — نص درس «الطوابع الزمنية وحسابات التاريخ» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة JavaScript Academy، انتقل إلى CoddyKit PRO. تتضمن دورة JavaScript Academy 4 دروس في المجموع.

ماذا ستتعلم في «الطوابع الزمنية وحسابات التاريخ»؟

احسبوا الفروق والإزاحات بين التواريخ. تتمرن على JavaScript Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ JavaScript Academy؟

لا تُشترط خبرة سابقة. JavaScript Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «الطوابع الزمنية وحسابات التاريخ»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس JavaScript Academy هذا؟

نعم. كل درس في JavaScript Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. إنشاء التواريخ وقراءتها
  2. الطوابع الزمنية وحسابات التاريخ
  3. تنسيق التواريخ
  4. المناطق الزمنية وUTC
← العودة إلى JavaScript Academy