$dayOfYear (الحصول على يوم السنة)
آخر تحديث: 2026-10-09
$dayOfYear (الحصول على يوم السنة)
يُرجع $dayOfYear يوم السنة لتاريخ ما (1 إلى 366) — مفيد لتقدم السنة، التحليلات الموسمية، أو حسابات الأيام المتبقية. يبدأ العد من 1؛ وتصل السنة العادية إلى 365 والسنة الكبيسة إلى 366. يحسب في UTC أو المنطقة المعطاة، وتتغير الحدود بين المناطق، لذا مرّر timezone صراحةً. ادمجه مع العنصر النائب %j في $dateToString للحصول على سلسلة من ثلاثة أرقام مبطّنة بالأصفار.
| الفئة | التاريخ |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
{ $dayOfYear: { date: <date-expression>, timezone: <timezone> } }
⚙️ المعلمات
| date | مطلوب؛ تعبير التاريخ. |
|---|---|
| timezone | المنطقة الزمنية اختيارية؛ الافتراضي هو UTC. |
القيمة المرجعة:يوم السنة (1-366) كعدد صحيح؛ null إذا كان date يساوي null.
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// $dayOfYear: يوم السنة للأحداث
db.events.aggregate([
{ $project: {
doy: { $dayOfYear: '$eventDate' },
label: { $dateToString: { format: '%j', date: '$eventDate' } }
} }
])
المخرجات:
{ "_id": 1, "doy": 268, "label": "268" }
{ "_id": 2, "doy": 1, "label": "001" }
📌 ملاحظات
- 1 يناير هو 1؛ و31 ديسمبر هو 365 في السنة العادية و366 في الكبيسة
- استخدم %j لسلسلة من ثلاثة أرقام مبطّنة بالأصفار
- الحدود تتبع UTC/timezone مثل $week — وحّد المناطق قبل الإحصاءات
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
مزيد من الحالات العملية قريبًا.
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qما الحد الأقصى السنوي؟
A365 في السنة العادية و366 في السنة الكبيسة.
Qما الفرق عن $dayOfMonth؟
A$dayOfMonth هو اليوم ضمن الشهر؛ و $dayOfYear هو اليوم ضمن السنة.
Qكيف أحصل على سلسلة من ثلاثة أرقام؟
Aاستخدم العنصر النائب %j من $dateToString، الذي يبطّن بالأصفار.