كيفية إنشاء ساعة رقمية باستخدام JavaScript بجميع أنواعها

تُعد الساعات الرقمية من أكثر المشاريع شيوعًا لتعلّم JavaScript. في هذا المقال سنعرض كيفية إنشاء أنواع متعددة من الساعات:
- ساعة رقمية بتنسيق 24 ساعة: تُعرض فيها الساعات من 00 إلى 23، وهي مثالية للمواقع الرسمية والتطبيقات العالمية.
- ساعة رقمية بتنسيق 12 ساعة مع AM/PM: تُستخدم بشكل واسع في الولايات المتحدة والدول الناطقة بالإنجليزية، مع فترات صباحًا ومساءً.
- ساعة تناظرية بعقارب: تحاكي الساعة التقليدية بعقارب الساعة والدقائق والثواني باستخدام JavaScript وCSS.
- ساعة مع التاريخ: تُظهر الساعة مع اليوم والتاريخ والشهر والعام، وتُستخدم في الصفحات الرئيسية ولوحات التحكم.
1. ساعة رقمية 24 ساعة
الساعة الرقمية بنظام 24 ساعة هي نوع من الساعات يعرض الوقت بصيغة تبدأ من 00:00 منتصف الليل حتى 23:59 مساءً ، دون استخدام نظام AM/PM. تُستخدم هذه الصيغة على نطاق واسع في التطبيقات الرسمية والعسكرية، والأنظمة العالمية مثل جداول الطيران والنقل.
في مشاريع JavaScript التعليمية
، يُعد إنشاء ساعة رقمية 24 ساعة تمرينًا مثاليًا لفهم التعامل مع
كائن Date واستخدام دوال مثل getHours()
وgetMinutes()
مع تنسيق الأرقام بشكل دقيق باستخدام padStart()
.
📌 من مميزات هذا النوع من الساعات:
- وضوح الوقت بدون الحاجة إلى تحديد الفترة (صباح/مساء)
- مثالية للاستخدام في لوحات التحكم (Dashboards) والمواقع الرسمية
- سهولة الدمج في تصميم متجاوب باستخدام CSS وJavaScript فقط
إذا كنت تبني تطبيق ساعة حقيقية أو عداد زمني، فإن استخدام صيغة 24 ساعة يجعل الوقت أكثر دقة ويُسهّل القراءة للمستخدمين حول العالم، خاصة في مواقع متعددة اللغات.
function updateClock24() {
const now = new Date();
let h = now.getHours().toString().padStart(2, '0');
let m = now.getMinutes().toString().padStart(2, '0');
let s = now.getSeconds().toString().padStart(2, '0');
document.getElementById("clock24").textContent = `${h}:${m}:${s}`;
}
setInterval(updateClock24, 1000);
updateClock24();
2. ساعة رقمية 12 ساعة مع AM/PM
ما هي الساعة الرقمية 12 ساعة بنظام AM/PM؟
الساعة الرقمية بصيغة 12 ساعة هي شكل شائع لعرض الوقت، حيث يُقسَّم اليوم إلى فترتين: AM (Ante Meridiem) من منتصف الليل حتى 11:59 صباحًا، و PM (Post Meridiem) من 12:00 ظهرًا حتى 11:59 مساءً.
هذه الصيغة تُستخدم على نطاق واسع في المواقع الشخصية، التطبيقات اليومية، والمدونات، خصوصًا للجمهور الناطق بالإنجليزية والدول التي تعتمد النظام الأمريكي في عرض الوقت.
مزايا استخدام صيغة 12 ساعة:
-
🕰️ تنسيق سهل الفهم:
يُعتبر هذا التنسيق الأكثر انتشارًا بين المستخدمين غير التقنيين، حيث يفصل بين الفترة الصباحية (AM) والمسائية (PM)، مما يجعله مثاليًا للزوار من خلفيات غير تقنية أو كبار السن. -
✅ مثالي للصفحات العامة:
مناسب لعرض الوقت في الصفحات الرئيسية، المدونات، التطبيقات اليومية، ومواقع الأخبار، خاصة تلك التي تستهدف جمهورًا دوليًا معتادًا على هذا التنسيق. -
🌐 مدعوم عبر أنظمة التشغيل:
يُعتمد تنسيق 12 ساعة بشكل افتراضي في العديد من البيئات مثل Windows، macOS، iOS، Android، مما يضمن توافقًا ممتازًا بين واجهة الساعة وساعة النظام لدى الزائر. -
📊 يعزز تجربة المستخدم:
عند استخدام هذا النوع من الساعات في المواقع الموجهة لجمهور أمريكي أو كندي، فإنه يعزز الراحة البصرية والفهم السريع للوقت، مما يُساهم في تقليل معدل الارتداد وزيادة التفاعل — وهما عاملان مهمان في تحسين ترتيب موقعك في نتائج بحث Google.
يمكنك بناء ساعة رقمية 12 ساعة باستخدام JavaScript بسهولة، عبر تحويل القيمة من getHours()
إلى النطاق 1 إلى 12
، وإضافة الحالة AM أو PM بناءً على التوقيت.
💡 دمج هذه الساعة في موقعك يُضيف لمسة احترافية ويُعزز تفاعل المستخدم، مع تحسين وقت البقاء في الصفحة — مما يساهم في رفع ترتيب موقعك في نتائج البحث.
function updateClock12() {
const now = new Date();
let h = now.getHours();
const ampm = h >= 12 ? 'PM' : 'AM';
h = h % 12 || 12;
let m = now.getMinutes().toString().padStart(2, '0');
let s = now.getSeconds().toString().padStart(2, '0');
document.getElementById("clock12").textContent = `${h}:${m}:${s} ${ampm}`;
}
setInterval(updateClock12, 1000);
updateClock12();
3. ساعة بعقارب (تناظرية)
ما هي الساعة التناظرية (بعقارب)؟
الساعة التناظرية أو الساعة ذات العقارب، هي تصميم كلاسيكي يُستخدم لعرض الوقت من خلال ثلاثة مؤشرات: عقرب الساعات، عقرب الدقائق، وعقرب الثواني. تُعرض الأرقام على شكل دائرة (12 رقمًا) تمثل 12 ساعة من اليوم، وهي من أكثر أشكال الساعات استخدامًا منذ عقود.
رغم الانتشار الكبير للساعات الرقمية في الواجهات الحديثة، إلا أن الساعة التناظرية تظل جذابة بصريًا وتُستخدم في العديد من المواقع والمشاريع التعليمية لتقديم تجربة استخدام كلاسيكية ومرنة، خصوصًا عند تصميم واجهات تفاعلية باستخدام HTML وCSS وJavaScript.
لماذا تُعد الساعة التناظرية خيارًا رائعًا؟
-
🎨 تصميم بصري جذاب:
تُعد الساعة التناظرية أحد أبرز العناصر الجمالية التي تُضفي لمسة فنية وعصرية على واجهات المواقع، سواء كانت مدونات تقنية أو منصات تعليمية أو حتى صفحات هبوط (Landing Pages). -
🛠️ مشروع تعليمي رائع:
يُعتبر تنفيذ ساعة بعقارب فرصة مثالية لتعلّم كيفية تحويل الوقت إلى حركة عبر CSS وJavaScript، باستخدام الدوران (rotation) والتحريك اللحظي للعقارب (الثواني، الدقائق، الساعات). -
📱 تصميم متجاوب بالكامل:
يمكن عرض الساعة بسلاسة على مختلف الشاشات — من الهواتف الذكية إلى الشاشات الكبيرة — مما يجعلها مناسبة للمواقع التعليمية، التطبيقات التفاعلية، وحتى الساعات الذكية. -
📈 تحسين تجربة المستخدم:
وجود ساعة حية تدور أمام المستخدم بشكل واقعي يجذب الانتباه، ويزيد مدة بقاء الزائر في الصفحة، وهو عنصر إيجابي في تقارير Google Analytics وفي رفع ترتيب الموقع في نتائج البحث.
لبناء ساعة بعقارب باستخدام JavaScript، تحتاج إلى حساب زاوية كل عقرب بناءً على الوقت الحالي، ثم تدوير كل عقرب باستخدام CSS وtransform: rotate()
. يمكنك أيضًا جعل التصميم متجاوبًا ليظهر بشكل جميل على الجوال والكمبيوتر.
🧠 إذا كنت مطورًا تبحث عن مشروع بسيط ولكن قوي لتعلّم التعامل مع DOM والتحريك (animation)، فإن بناء ساعة تناظرية هو بداية ممتازة.
function updateAnalogClock() {
const now = new Date();
const h = now.getHours() % 12;
const m = now.getMinutes();
const s = now.getSeconds();
document.getElementById("hourHand").style.transform = `translateX(-50%) rotate(${(h * 30) + (m / 2)}deg)`;
document.getElementById("minuteHand").style.transform = `translateX(-50%) rotate(${m * 6}deg)`;
document.getElementById("secondHand").style.transform = `translateX(-50%) rotate(${s * 6}deg)`;
}
setInterval(updateAnalogClock, 1000);
updateAnalogClock();
4. ساعة مع التاريخ بالأرقام العربية؟
ما هي الساعة الرقمية مع عرض التاريخ بالأرقام العربية؟
الساعة مع التاريخ هي نوع مطوّر من الساعات الرقمية التي لا تكتفي بعرض الوقت (الساعة والدقيقة والثانية)، بل تضيف إليه تاريخ اليوم الحالي مثل اليوم من الأسبوع، اليوم من الشهر، الشهر، والسنة. يُعد هذا النوع من الساعات مفيدًا جدًا في واجهات المستخدم، لوحات المعلومات (Dashboards)، والمدونات التفاعلية.
في المواقع الحديثة، يُستخدم عرض الوقت والتاريخ معًا لتعزيز تجربة المستخدم، خاصةً في الصفحات الرئيسية، تطبيقات الإنتاجية، تقارير المهام، أو الشاشات الذكية. فهو يمنح الموقع طابعًا ديناميكيًا ويوحي بالتحديث الفوري للمحتوى.
فوائد الساعة الرقمية مع التاريخ:
مميزات الساعة التي تعرض التاريخ:
-
📅 عرض التاريخ بشكل تلقائي:
تُغني الساعة المدمجة بالتاريخ الزائر عن استخدام تقويم خارجي، حيث يُعرض اليوم والتاريخ الحالي تلقائيًا مع الوقت. هذا يُوفر تجربة غنية وسريعة، خاصةً في المواقع اليومية مثل الصحف والمدونات. -
🕒 تعزيز الاحترافية والمصداقية:
يُعتبر عرض التاريخ والوقت سمة من سمات المواقع الموثوقة والمحدثة باستمرار، مثل مواقع الأخبار، التعليم، والمنتديات. وجود هذه الساعة يعطي انطباعًا بالحداثة والمتابعة الدقيقة. -
⚙️ مشروع عملي لتعلم JavaScript:
إنشاء ساعة مدمجة بتاريخ يُعد تمرينًا مثاليًا لتطبيق مفاهيم DOM، كائن Date، ومعالجة النصوص في JavaScript. كما يمكن توسيعها لاحقًا لإضافة توقيت زمني خاص بالمناطق الجغرافية المختلفة. -
📈 تحسين تجربة المستخدم:
عرض الوقت والتاريخ في الصفحة يساهم في تقليل معدل الارتداد ورفع مدة بقاء الزائر، مما يعزز فرص الموقع في تحقيق ترتيب أعلى في نتائج Google وتحقيق دخل أفضل من الإعلانات.
لبناء ساعة مع التاريخ، تحتاج فقط إلى استخدام Date()
في JavaScript لاستخراج المعلومات الزمنية الكاملة، ثم عرضها باستخدام HTML وتنسيقها بمرونة بـ CSS.
✨ هذا النوع من الساعات مفيد جدًا أيضًا في صفحات "تحت الصيانة"، صفحات المعلومات العامة، أو حتى كود تعليمي في مقالات موجهة للمبتدئين في برمجة الويب.
function updateClockWithDate() {
const now = new Date();
const date = now.toLocaleDateString('ar-EG');
const time = now.toLocaleTimeString('ar-EG');
document.getElementById("clockWithDate").textContent = `${date} | ${time}`;
}
setInterval(updateClockWithDate, 1000);
updateClockWithDate();
خاتمة: تعلّم JavaScript من خلال مشروع ساعة رقمية احترافية
سواء كنت مبتدئًا في تعلم JavaScript أو مطورًا متمرسًا تبحث عن مشروع بسيط وفعّال، فإن إنشاء ساعة رقمية باستخدام JavaScript يُعد تدريبًا مثاليًا لفهم مفاهيم التاريخ والوقت، التحكم في DOM، واستخدام الدوال الزمنية مثل setInterval
.
يمكنك دائمًا تطوير مشروع الساعة ليصبح أكثر احترافية، عبر إضافة ميزات مثل:
مزايا متقدمة يمكنك إضافتها للساعة الرقمية:
-
🕒 دعم المنطقة الزمنية:
يمكن للساعة التعرف تلقائيًا على الموقع الجغرافي للمستخدم وعرض التوقيت المحلي بدقة. هذه الميزة مثالية للمواقع العالمية التي تخدم زوارًا من بلدان متعددة. -
🌙 الوضع الليلي التلقائي:
بإمكانك برمجة الساعة لتُغيّر مظهرها تلقائيًا إلى الوضع الداكن (Dark Mode) بعد غروب الشمس، ما يحسن تجربة المستخدم ويوفر طاقة على شاشات OLED. -
📆 عرض التاريخ والوقت معًا:
الدمج بين الساعة والتقويم في تصميم متجاوب يمنح الزائر نظرة شاملة دون الحاجة للتنقل، خاصةً على الأجهزة المحمولة. هذه الميزة تضيف طابعًا احترافيًا لأي موقع إلكتروني.
لا تتردد في دمج الساعة في موقعك أو مدونتك — فهي ليست مجرد أداة تعليمية، بل تُضيف لمسة تفاعلية احترافية تحسّن من تجربة المستخدم وتزيد من زمن البقاء في الصفحة، مما يساهم في رفع تصنيف موقعك في نتائج Google.
💡 هل جرّبت أحد أنواع الساعات الرقمية في مشروعك؟ شاركنا تجربتك في التعليقات، ولا تنسَ مشاركة المقال مع أصدقائك المهتمين بتعلم JavaScript!