حساب ساعات العمل بين تاريخين ووقتين بتوقيت UTC
تذكرة دعم فُتحت يوم الجمعة 24 يوليو 2026 الساعة 15:00 بتوقيت UTC وأُغلقت يوم الاثنين 27 يوليو الساعة 11:30 استهلكت 4.5 ساعة عمل، أي 270 دقيقة. لا يُحتسب وقت نهاية الأسبوع ولا الساعات خارج النافذة اليومية. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- تاريخ ووقت البدء
- 2026-07-24T15:00:00Z
- تاريخ ووقت الانتهاء
- 2026-07-27T11:30:00Z
- ثواني العمل
- 16,200
- دقائق العمل
- 270
- ساعات العمل
- 4.5
- بداية يوم العمل
- 09:00
تقيس هذه الحاسبة الجزء الواقع فقط من فترة زمنية صريحة داخل نافذة عمل يومية بتوقيت UTC من الاثنين إلى الجمعة. وهي تقبل تاريخين ووقتين بصيغة ISO مع المنطقة الزمنية، وتحول الطرفين إلى UTC بحساب تقويمي حتمي، وتستبعد السبت والأحد. يمكنكم اعتماد النافذة الافتراضية 09:00–17:00 أو تحديد نافذة أخرى في اليوم نفسه. وتعرض الاستجابة الثواني الدقيقة إلى جانب المجاميع العملية بالدقائق والساعات.
حددوا الفترة ونافذة العمل بدقة
يمنع اشتراط المنطقة الزمنية أن يدل وقت محلي واحد على لحظات مختلفة باختلاف الجهاز. يشمل الحساب البداية ولا يشمل النهاية، لذلك يمكن جمع الفترات المتتابعة بلا احتساب الحد مرتين. يجب أن يقع الطرفان في يوم UTC نفسه وأن يكون الإغلاق بعد الافتتاح.
ترفض النوبات الليلية حتى لا تنسب إلى يوم عمل بصورة ملتبسة. لا يحتسب إلا التداخل الفعلي؛ فقد تسهم الساعات المتبقية من الجمعة، ثم يهمل السبت والأحد ويستأنف الحساب يوم الاثنين. لا تستنتج العطلات الرسمية لأنها تختلف حسب الدولة والمنطقة والقطاع وجهة العمل.
افهموا آلية حساب UTC الحتمي
تحول كل إزاحة مدخلة إلى لحظة UTC باستعمال حساب صحيح على التقويم الميلادي. ثم يمر على مجموعة محدودة من أيام UTC التي تمسها الفترة. توضع نافذة مرشحة من الاثنين إلى الجمعة، ولا يضاف شيء يومي السبت والأحد.
في كل يوم عمل، يحسب تقاطع الفترة المطلوبة مع وقتي الافتتاح والإغلاق ويجمع التداخل الموجب بالثواني. تعالج هذه الطريقة اليومين الجزئيين في البداية والنهاية، وتجعل الإزاحات المختلفة التي تشير إلى اللحظة نفسها متساوية. يعطي الطرفان المتساويان صفرا، وترفض النهاية السابقة للبداية.
استخدموا النتيجة في سير العمل التشغيلي
تستطيع فرق الدعم قياس وقت العمل الذي استهلكته تذكرة من دون تحميل الليل أو عطلة نهاية الأسبوع على الهدف الداخلي. ويمكن لفرق العمليات مقارنة الإقرار بالحوادث والتعافي منها على ساعة مشتركة حتى عندما تستعمل المصادر إزاحات مختلفة. كما تستطيع فرق المالية والخدمات المهنية تحويل الأنشطة المؤرخة زمنيا إلى مجاميع قابلة للمراجعة قبل تطبيق قواعد الفوترة الخاصة بها.
احفظوا الطرفين الأصليين ونافذة UTC والثواني المعادة معا؛ إذ يمكن إعادة الحساب لأنه لا يعتمد على تاريخ اليوم أو منطقة الخادم أو تقويم خارجي. إذا كانت سياستكم تشمل العطلات الرسمية أو عطلات إقليمية أو فترات راحة أو مناوبات أو توقيتا محليا موسميا أو عملا ليليا، فطبقوا ذلك في طبقة تقويم مستقلة. يوفر هذا العقد أساسا شفافا بتوقيت UTC يسهل اختباره وجمعه وشرحه.
حالات الاستخدام
قياس اتفاقيات مستوى الدعم
احسبوا الوقت الواقع داخل نافذة العمل فقط بين إنشاء التذكرة وحلها.
تقارير مدة الحوادث
وحدوا الأحداث ذات الإزاحات المختلفة على جدول UTC واستبعدوا عطلة نهاية الأسبوع.
مجاميع خدمة قابلة للتدقيق
أنشئوا ثواني عمل حتمية للفوترة أو الامتثال بلا قواعد محلية خفية.
الأسئلة الشائعة
ما الأيام المستبعدة؟
يستبعد السبت والأحد بتوقيت UTC، ولا تدخل العطلات الرسمية أو أنماط العطلة الإقليمية.
هل تتبع النافذة التوقيت الصيفي؟
لا. تحدد النافذة صراحة بتوقيت UTC، ولذلك تبقى ثابتة عند تغير القواعد الموسمية.
هل يمكن تحديد نوبة ليلية؟
لا. يجب أن يقع الافتتاح والإغلاق في يوم UTC نفسه، وأن يكون الإغلاق لاحقا.
هل يُحتسب وقت النهاية؟
لا. تُحتسب لحظة البداية ولا تُحتسب لحظة النهاية، لذلك يمكنك جمع فترات متتالية، كفترة لكل نوبة أو لكل يوم، دون احتساب نقطة التقائها مرتين.
هل يجب أن يتضمن التاريخ والوقت منطقة زمنية؟
نعم. يجب أن يحمل كل منهما علامة UTC أو فرقًا زمنيًا صريحًا. فالوقت المحلي دون منطقة قد يعني لحظات مختلفة على أجهزة مختلفة، لذا لا تخمّن الحاسبة بل تحوّل كل شيء إلى UTC.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/date/working-hours-between \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start_datetime":"2026-07-24T15:00:00Z","end_datetime":"2026-07-27T11:30:00Z"}'const res = await fetch("https://api.kit.forhosting.com/date/working-hours-between", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start_datetime": "2026-07-24T15:00:00Z",
"end_datetime": "2026-07-27T11:30:00Z"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/working-hours-between",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start_datetime": "2026-07-24T15:00:00Z",
"end_datetime": "2026-07-27T11:30:00Z"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/working-hours-between", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start_datetime":"2026-07-24T15:00:00Z","end_datetime":"2026-07-27T11:30:00Z"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start_datetime":"2026-07-24T15:00:00Z","end_datetime":"2026-07-27T11:30:00Z"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/working-hours-between", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"start_datetime": "2026-07-24T15:00:00Z",
"end_datetime": "2026-07-27T11:30:00Z"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.working_hours_between",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_span_days | 36600 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
حددوا الفترة ونافذة العمل بدقة
أرسلوا `start_datetime` و`end_datetime` كتاريخين ووقتين كاملين بصيغة ISO مع `Z` أو إزاحة UTC رقمية. تمتد النافذة المتكررة افتراضيا من 09:00 إلى 17:00 UTC، ويمكنكم تغييرها عبر `workday_start` و`workday_end` بصيغة 24 ساعة `HH:MM`.
افهموا آلية حساب UTC الحتمي
لا ينشئ التنفيذ كائن `Date`، ولا يقرأ ساعة النظام أو الإعدادات المحلية أو خدمات المناطق الزمنية، ولا يستخدم الشبكة أو العشوائية. يمثل `working_seconds` عددا صحيحا دقيقا، ويشتق منه `working_minutes` و`working_hours` مع تقريب لا يتجاوز ست منازل لاستقرار JSON. تكرر الاستجابة النافذة الفعلية وتعرض `timezone` بقيمة `UTC` كي تبقى الفرضيات ظاهرة في التدقيق.
استخدموا النتيجة في سير العمل التشغيلي
يناسب المتصفح الفحوص الفردية، وتبلغ كلفة طلب API الناجح $0.002.
أسئلة تقنية
ما الكلفة؟
تكلف API مقدار $0.002 لكل طلب ناجح، ويمكن تنفيذ الحساب الخالص نفسه في المتصفح.
هل تقبل التواريخ إزاحات UTC؟
نعم. استخدموا `Z` أو إزاحة صريحة مثل `-04:00`، وسيحول كل طرف إلى UTC.