حساب وقت انتهاء الفيلم مع مدة الإعلانات والمقاطع الترويجية
لا يوضح وقت العرض المعلن دائما متى ستغادرون دار السينما فعليا. تجمع هذه الحاسبة بين وقت البداية المقرر ومدة الفيلم وهامش مستقل للمقاطع الترويجية أو الإعلانات.
شغّل الأداة مجانًا
وتعرض وقت انتهاء واضحا بنظام 24 ساعة، كما تبين ما إذا كان العرض ينتهي بعد منتصف الليل. يمكنكم استخدامها لتنظيم المواصلات أو العشاء أو رعاية الأطفال أو مدة الوقوف أو حضور عرض ثان، من دون إجراء حسابات الوقت ذهنيا. الحساب حتمي، وتظل مدة الفيلم منفصلة عن الهامش الاختياري للمواد التي تسبق عرضه.
أدخلوا وقت العرض والمدة الرسمية للفيلم
ابدؤوا بالوقت المطبوع على التذكرة أو المنشور في برنامج دار السينما، واستخدموا نظام 24 ساعة مثل 19:30. ثم أدخلوا المدة الرسمية للفيلم بالدقائق الصحيحة. يجب أن تكون المدة أكبر من صفر، لأن فيلما مدته صفر أو قيمة سالبة لا يعطي تقديرا ذا معنى. تقبل طلبات API أسماء بديلة شائعة، غير أن استعمال start_time وruntime_minutes يجعل التكامل أوضح عند مراجعته لاحقا. اعتبروا المدة الرسمية طول الفيلم الرئيسي نفسه. إذا كانت دار السينما تنشر مسبقا وقت انتهاء يشمل البرنامج التمهيدي، فلا تنقلوا تلك المدة المجمعة إلى حقل مدة الفيلم. إبقاء القيم منفصلة يجعل النتيجة قابلة للتدقيق، ويسمح بتعديل الجزء غير المؤكد من دون تغيير طول الفيلم المعروف. فمثلا، ينتهي فيلم مدته 142 دقيقة ويبدأ عند 19:30 في الساعة 21:52 إذا لم يضف أي هامش. ويجري توحيد تنسيق وقت البداية إلى رقمين، لذلك تعاد 9:05 بصيغة 09:05 مع بقاء المعنى نفسه.
أضيفوا هامشا واقعيا للمقاطع الترويجية والإعلانات
استخدموا buffer_minutes للمقاطع الترويجية والإعلانات وتنبيهات دار السينما وأي تأخير متوقع بين الوقت المعلن وبداية الفيلم الرئيسي. القيمة الافتراضية للهامش هي صفر، وهي مناسبة للمهرجانات والعروض الخاصة والمشاهدة المنزلية ودور العرض التي تحدد بداية الفيلم بدقة. تعرض دور السينما التجارية عادة برنامجا تمهيديا، لكن مدته تختلف باختلاف السلسلة والموقع واليوم وموعد العرض؛ لذلك لا تفترض الحاسبة قيمة موحدة من تلقاء نفسها. أدخلوا الهامش الذي يطابق المعلومات المتاحة لديكم. تؤدي إضافة هامش قدره 20 دقيقة إلى فيلم مدته 142 دقيقة إلى وقت إجمالي يبلغ 162 دقيقة. وإذا بدأ العرض عند 19:30، كان وقت الانتهاء المقدر 22:12. يجب أن يكون الهامش صفرا أو عددا صحيحا موجبا. ويظل الهامش ظاهرا بصورة مستقلة في النتيجة لتتمكنوا من مقارنة السيناريوهات: احسبوا مرة بالمدة المعتادة للدار، ثم أعيدوا الحساب بتقدير أكثر احتياطا إذا كان موعد مواصلات أو حجز مهما. هذا حساب للتخطيط وليس ضمانا لموعد بدء العرض الفعلي.
افهموا عبور منتصف الليل وخططوا مع هامش إضافي
تتضمن النتيجة end_time وtotal_minutes وday_offset. يظهر وقت الانتهاء بصيغة موحدة على نظام 24 ساعة. تكون إزاحة اليوم صفرا عندما ينتهي الفيلم في اليوم نفسه الذي بدأ فيه، وواحدا عندما ينتهي بعد حلول منتصف الليل التالي، وقد تزيد مع مدخلات اختبار طويلة على نحو غير معتاد. بذلك تزول أي دلالة ملتبسة: إذا كانت end_time تساوي 00:25 وكانت day_offset تساوي 1، فهذا يعني بوضوح الساعة 00:25 من اليوم التالي، لا وقتا أسبق في تاريخ البداية. يضيف الحساب مدة الفيلم والهامش مباشرة إلى وقت العرض؛ ولا يستخدم منطقة زمنية أو تقويما أو الوقت الحالي أو قواعد التوقيت الصيفي. ولهذا تظل النتيجة مستقرة ومناسبة لبرامج دور السينما المحلية التي تشير قيمها كلها إلى الساعة المحلية نفسها. عند ترتيب التزاماتكم، يمكنكم إضافة هامش شخصي بعد الوقت الناتج من أجل شارة النهاية أو دورة المياه أو جمع الأغراض أو الوصول إلى السيارة أو السير إلى وسيلة النقل. تقدر الحاسبة نهاية البرنامج المدخل، ولا تتنبأ بالوقت اللازم لمغادرة المبنى.
حالات الاستخدام
التخطيط للعودة إلى المنزل
قدروا وقت الانتهاء قبل حجز سيارة أو مراجعة موعد آخر قطار أو اختيار مدة الوقوف المناسبة.
تنسيق العشاء أو رعاية الأطفال
حولوا وقت العرض ومدته إلى موعد انتهاء عملي للحجوزات أو جداول الرعاية أو الخطط العائلية.
مقارنة مواعيد العرض
احسبوا عدة أوقات بداية بالمدة وهامش الدار نفسيهما لاختيار العرض الأنسب لأمسيتكم.
الأسئلة الشائعة
ما تكلفة استخدام الحاسبة؟
الاستخدام مجاني في المتصفح. وتبلغ تكلفة كل طلب API مقدار $0.002.
هل تشمل مدة الفيلم المقاطع الترويجية عادة؟
تشير المدة الرسمية عادة إلى الفيلم الرئيسي. أدخلوا المقاطع الترويجية والإعلانات بصورة مستقلة في buffer_minutes عند الحاجة.
ماذا يحدث إذا انتهى الفيلم بعد منتصف الليل؟
تلتف end_time ضمن نظام 24 ساعة وتصبح day_offset مساوية 1، فيتضح أن الانتهاء يقع في اليوم التالي.
هل يجوز أن تكون مدة الفيلم صفرا أو سالبة؟
لا. يجب أن تكون عددا صحيحا موجبا من الدقائق؛ وتنتج عن الصفر والقيم السالبة رسالة خطأ للمدخل غير الصالح.
هل يمكن حذف هامش المقاطع الترويجية والإعلانات؟
نعم. القيمة الافتراضية لـ buffer_minutes هي صفر، ولذلك لا تضيف النتيجة عند حذفه سوى مدة الفيلم إلى وقت البداية.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/video/movie-runtime-showtime-calc \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"runtime_minutes":142,"start_time":"19:30"}'const res = await fetch("https://api.kit.forhosting.com/video/movie-runtime-showtime-calc", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"runtime_minutes": 142,
"start_time": "19:30"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/video/movie-runtime-showtime-calc",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"runtime_minutes": 142,
"start_time": "19:30"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/video/movie-runtime-showtime-calc", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"runtime_minutes":142,"start_time":"19:30"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"runtime_minutes":142,"start_time":"19:30"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/video/movie-runtime-showtime-calc", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"runtime_minutes": 142,
"start_time": "19:30"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "video.movie_runtime_showtime_calc",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_mb | 500 |
max_minutes | 60 |
max_megapixels | 3.9 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |