$hour (الحصول على الساعة)

آخر تحديث: 2026-10-09

$hour (الحصول على الساعة)

يُرجع $hour جزء الساعة من تاريخ ما (0 إلى 23) — شائع لتحليل حركة المرور بالساعات، نوافذ التنبيه، أو التقارير الساعية. يُرجع عددًا صحيحًا بصيغة 24 ساعة. timezone هي الأهم هنا: UTC زائد 8 ساعات يعطي توقيت بكين، لذا يجب أن يضبط التحليل متعدد المناطق timezone صراحةً وإلا انزاحت كل دلو. الافتراضي UTC.

الفئةالتاريخ
إصدار MongoDB1.0+
لغة المثالmongosh (الطرفية)

📝 الصيغة

{ $hour: { date: <date-expression>, timezone: <timezone> } }

⚙️ المعلمات

dateمطلوب؛ تعبير التاريخ.
timezoneالمنطقة الزمنية اختيارية؛ الافتراضي هو UTC.

القيمة المرجعة:الساعة (0-23)؛ null إذا كان date يساوي null.

▶ مثال

نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):

// $hour: الزيارات حسب الساعة (توقيت بكين)
db.visits.aggregate([
  { $group: {
      _id: { $hour: { date: '$visitAt', timezone: 'Asia/Shanghai' } },
      pv: { $sum: 1 }
  } }
])

المخرجات:

{ "_id": 9, "pv": 2300 }
{ "_id": 10, "pv": 3100 }

📌 ملاحظات

مزيد من الحالات العملية قريبًا.

📚 دروس ذات صلة

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

Qما النطاق؟
Aمن 0 إلى 23، بصيغة 24 ساعة.
Qلماذا بياناتي الساعية منزاحة؟
Aغالبًا بسبب المنطقة الزمنية — مرّر منطقة محلية مثل 'Asia/Shanghai'.
Qهل يمكنني إخراج ساعات من رقمين مثل 09؟
Aاستخدم العنصر النائب %H من $dateToString.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%