حساب ترتيب اليوم في السنة من تاريخ تقويمي
تحوّل هذه الحاسبة تاريخًا تقويميًا إلى ترتيبه العددي داخل السنة. أدخلوا التاريخ بصيغة YYYY-MM-DD لتحصلوا على عدد صحيح من 1 إلى 365، أو إلى 366 في السنة الكبيسة. يطبّق الحساب قواعد التقويم الميلادي، ويتحقق من العدد الفعلي لأيام كل شهر، ويرفض التواريخ المستحيلة بدل تعديلها بصمت. وهو مفيد عندما يلزم تحويل تاريخ مقروء إلى مؤشر سنوي موجز.
شغّل الأداة مجانًا
حوّلوا التاريخ التقويمي إلى رقم ترتيبي
يبيّن يوم السنة عدد الأيام التقويمية من 1 يناير حتى التاريخ المحدد، مع احتساب 1 يناير يومًا رقم 1. أدخلوا أربع خانات للسنة وخانتين للشهر وخانتين لليوم، وافصلوا بينها بشرطات. يعيد تاريخ في أوائل يناير رقمًا صغيرًا، بينما يعيد تاريخ في أواخر ديسمبر قيمة قريبة من 365 أو 366. تتضمن النتيجة عددًا صحيحًا واحدًا باسم day_of_year، ولذلك يسهل حفظه أو مقارنته أو تمريره إلى حساب آخر. صيغة الإدخال صارمة عن قصد؛ إذ تُرفض السنوات المختصرة والعناصر المعاد ترتيبها والطوابع الزمنية والصيغ المحلية لأن تفسيرها قد يختلف بين الأنظمة. تستخدم الحاسبة التقويم الميلادي وتدعم السنوات من 0001 إلى 9999. ولا تعتمد على ساعة الخادم أو المنطقة الزمنية للمتصفح أو التوقيت الصيفي أو التاريخ الحالي، لذا ينتج الإدخال نفسه المخرج نفسه دائمًا.
كيفية معالجة السنوات الكبيسة وأطوال الأشهر
يُحسب الرقم الترتيبي بجمع أطوال الأشهر الكاملة السابقة للشهر المطلوب، ثم إضافة اليوم المحدد. فبراير هو الشهر الوحيد الذي يتغير طوله. وفق قواعد التقويم الميلادي، تكون السنة القابلة للقسمة على أربعة كبيسة عادةً، لكن سنة القرن لا تكون كبيسة إلا إذا كانت قابلة للقسمة على أربعمئة أيضًا. لذلك يتضمن عاما 2024 و2000 يوم 29 فبراير، بخلاف عامي 1900 و2100. يؤثر هذا الفرق في كل تاريخ بعد فبراير: يكون 1 مارس اليوم 61 في السنة الكبيسة واليوم 60 في السنة العادية. تستخدم عملية التحقق القواعد نفسها قبل إجراء الجمع. ينتج خطأ عن 31 أبريل أو 30 فبراير أو اليوم صفر أو الشهر الثالث عشر أو 29 فبراير في سنة عادية. ولا تنقل الحاسبة تاريخًا غير صالح إلى الشهر التالي، فتمنع رقمًا ترتيبيًا يبدو معقولًا من إخفاء خطأ في التاريخ الأصلي.
استخدموا النتيجة بثقة في البيانات والجداول
تفيد الأيام الترتيبية عندما يكون موضع اليوم داخل السنة مهمًا دون الحاجة إلى حدود الأشهر. يمكن تجميع الملاحظات البيئية حسب الموسم، وتمثيل يوم الإنتاج في سجلات التصنيع بإيجاز، وإنشاء تسلسل سنوي متسق للرسوم البيانية. كما تسهّل القيمة مقارنة التواريخ داخل السنة نفسها، لكنها لا ينبغي أن تحل محل التاريخ الأصلي عندما تمتد السجلات عبر عدة سنوات، لأن اليوم 32 يتكرر كل سنة ولا يكون فريدًا بمفرده. احتفظوا بالسنة إلى جانب الرقم الترتيبي عند تجاوز الهوية أو الترتيب الزمني حدود السنة. وفي الأحداث المتكررة، تذكّروا أن السنة الكبيسة تغيّر الأرقام بعد 28 فبراير، ولذلك قد يحمل تاريخ سنوي ثابت أرقامًا مختلفة. وبالعكس، قد يشير رقم ثابت إلى تاريخ آخر قرب فبراير. تبلغ كلفة طلب API $0.002، بينما ينفّذ المتصفح الحساب الحتمي نفسه محليًا، دون بيانات شبكة أو موقع جغرافي أو إعداد منطقة زمنية.
حالات الاستخدام
فهرسة الملاحظات السنوية
حوّلوا قياسات الطقس أو الزراعة أو المختبر المؤرخة إلى موضع سنوي متسق لإجراء التحليل الموسمي.
التحقق من تسميات أيام الإنتاج
قارنوا الرقم الترتيبي المستخدم في التصنيع أو الخدمات اللوجستية أو سجلات الدفعات بالتاريخ التقويمي الأصلي.
إعداد التواريخ للتقارير
أضيفوا يوم السنة إلى مجموعات البيانات والرسوم دون الاعتماد على الإعدادات المحلية أو المنطقة الزمنية لجدول البيانات.
الأسئلة الشائعة
ما نطاق النتيجة الممكن؟
تتراوح النتيجة من 1 إلى 365 في السنة العادية، ومن 1 إلى 366 في السنة الكبيسة.
ما صيغة التاريخ المقبولة؟
استخدموا YYYY-MM-DD تمامًا، مع وضع صفر في البداية للشهور والأيام ذات الخانة الواحدة.
كيف تُحدد السنوات الكبيسة؟
تكون السنوات القابلة للقسمة على أربعة كبيسة، لكن سنوات القرون يجب أن تكون قابلة للقسمة على أربعمئة أيضًا.
ماذا يحدث إذا كان التاريخ غير صالح؟
يعيد الطلب خطأ إدخال غير صالح عند وجود صيغة خاطئة أو تاريخ تقويمي مستحيل.
هل يعتمد الحساب على منطقة زمنية؟
لا. فهو يجري حساب التقويم مباشرةً ولا يحوّل التاريخ إلى طابع زمني.
ما كلفة طلب API؟
تبلغ كلفة كل طلب API $0.002. ويمكن أيضًا تنفيذ الحساب نفسه محليًا في المتصفح.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/astro/day-of-year \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2024-12-31"}'const res = await fetch("https://api.kit.forhosting.com/astro/day-of-year", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2024-12-31"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/astro/day-of-year",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2024-12-31"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/astro/day-of-year", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2024-12-31"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2024-12-31"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/astro/day-of-year", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"date": "2024-12-31"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "astro.day_of_year",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |