لاشتقاق فارق التوقيت عن UTC، اطرح تاريخ UTC ووقته من التاريخ المحلي المطابق ووقته، مع الاحتفاظ بأي تغيّر في التاريخ. في Numbers على Mac، يمكنك حساب ذلك بالدقائق من دون اختيار منطقة زمنية مسماة.

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

ما المعلومات التي تحتاج إليها قبل الحساب؟

تحتاج إلى تمثيلين للحظة النشر نفسها: تاريخ ووقت محليان كاملان، وتاريخ ووقت كاملان وفق UTC. تأكد من أن كليهما يصف النشر، لا أن أحدهما يصف النشر والآخر تعديلاً لاحقاً. تطابقهما شرط أساسي؛ فالفارق العددي المعقول لا يثبت أنهما يعودان إلى اللحظة نفسها.

أبقِ هذه المفاهيم الأربعة منفصلة:

المفهوم مثال اصطناعي ما الذي يوضحه
التاريخ المدني 2026-07-01 يوم تقويمي، من دون وقت أو علاقة بـ UTC
التاريخ والوقت المحليان 2026-07-01 05:25:00 حقول التقويم والساعة التي لا تزال بحاجة إلى فارق توقيت أو منطقة لتحديد لحظة زمنية
اللحظة الزمنية 2026-06-30T23:40:00Z لحظة معينة معبّر عنها وفق UTC
فارق التوقيت عن UTC +05:45 الفرق بين الساعة المحلية وUTC عند تلك اللحظة
المنطقة الزمنية المسماة معرّف منطقة IANA مُعطى مجموعة قواعد لتحديد فوارق التوقيت في لحظات مختلفة

تجري Apple تمييزاً مشابهاً في Foundation: يمثّل Date نقطة زمنية مستقلة عن أي تقويم أو منطقة، بينما يمثّل DateComponents حقول التقويم التي تُقيّم باستخدام تقويم ومنطقة زمنية. لذلك، تختلف سلسلة التاريخ المعروضة عن اللحظة الزمنية من حيث نوع المدخلات. Apple: التواريخ والأوقات

في ورقة العمل هذه، استخدم تواريخ ميلادية صحيحة وثوانٍ كاملة ضمن النطاق من 00 إلى 59. احتفظ بسلاسل الطوابع الزمنية الأصلية إلى جانب حساباتك. إذا لم يقدّم أي من المصدرين سوى تاريخ، أو قدّم وقتاً من دون تاريخه، فاحصل على المعلومات الناقصة قبل حساب فارق توقيت دقيق.

كيف يعمل حساب فارق التوقيت؟

يحدد RFC 3339 اصطلاح الإشارة على أنه الوقت المحلي ناقص UTC. تعني النتيجة الموجبة أن الساعة المحلية متقدمة؛ وتعني النتيجة السالبة أنها متأخرة. لاستعادة UTC، اطرح فارق التوقيت من التاريخ والوقت المحليين. RFC 3339، القسم 4.2

القيم المقترنة لأول منشور اصطناعي هي:

  • UTC: 2026-06-30T23:40:00Z
  • محلي: 2026-07-01 05:25:00
  • الفرق: موجب، 5 ساعات و45 دقيقة
  • فارق التوقيت المستنتج: +05:45

التاريخ المحلي هو اليوم التالي. إن احتساب الوقتين وحدهما سيعطي فرقاً سالباً مضللاً. يوضح الحساب الصريح بالدقائق أهمية التاريخ:

offset_minutes = 1440 × calendar_day_difference
                 + local_clock_minutes
                 - UTC_clock_minutes

calendar_day_difference = +1
local_clock_minutes = 5 × 60 + 25 = 325
UTC_clock_minutes = 23 × 60 + 40 = 1420

offset_minutes = 1440 + 325 - 1420 = 345
345 minutes = 5 hours 45 minutes

يعني فرق الأيام التقويمية هنا الفرق بين التاريخين كاملين. لا تطرح رقمي يوم الشهر: الفرق بين 1 يوليو و30 يونيو يوم واحد، رغم أن 1 - 30 سالب. تتيح ورقة العمل أدناه إجراء حساب التاريخ للتعامل مع الانتقال بين الشهرين.

كيف تحسب ذلك في Numbers على Mac؟

تحتاج إلى تثبيت Numbers وجدول بيانات يحتوي على جدول واحد. تستخدم الأمثلة أسماء الدوال الإنجليزية والفواصل. إذا كان محرر الصيغ لديك يتوقع فاصلاً مختلفاً، فأدرج الدالة عبر متصفح الدوال واملأ حقول الوسيطات.

1. أنشئ أعمدة معنونة بوضوح

استخدم الصف 1 لهذه التسميات: حقول UTC في A1، والحقول المحلية في B1، والدقائق في C1، وUTC المعاد إنشاؤه في D1. تصف هذه التسميات مدخلاتك؛ وإدخال تاريخ في العمود A لا يجري بحد ذاته تحويلاً للمنطقة الزمنية.

حدد العمودين A وB، ثم استخدم الشريط الجانبي التنسيق، وعلامة التبويب خلية، وقائمة تنسيق البيانات لاختيار التاريخ والوقت. اختر تنسيقات عرض تُظهر التاريخ والوقت كاملين، بما في ذلك الثواني. توثّق Apple هذه عناصر التحكم في دليل تنسيق الخلايا في Numbers.

2. أنشئ القيمتين بوضوح

انقر على A2 وأدخل الصيغة التالية. اضغط Return لتثبيتها:

=DATE(2026,6,30)+DURATION(0,0,23,40,0,0)

في B2، أدخل:

=DATE(2026,7,1)+DURATION(0,0,5,25,0,0)

تأخذ DATE السنة والشهر واليوم كأرقام منفصلة، فتتجنب سلاسل التواريخ الملتبسة. وتأخذ DURATION الأسابيع والأيام والساعات والدقائق والثواني والمللي ثانية بهذا الترتيب. هنا، تؤدي إضافة مدة إلى كل تاريخ إلى تحديد وقت الساعة. Apple: DATE، Apple: DURATION

تحقق من أن A2 تعرض 30 يونيو عند 23:40:00، وأن B2 تعرض 1 يوليو عند 05:25:00. أنت تمثّل مجموعتي حقول التقويم المراد طرحهما. احتفظ بلاحقة UTC الأصلية في ملاحظات المصدر، بدلاً من الاعتماد على مظهر خلية جدول البيانات لتحديد أنها وفق UTC.

3. اطرح المحلي ناقص UTC

في C2، أدخل:

=DUR2MINUTES(B2-A2)

النتيجة المتوقعة هي 345. ينتج عن طرح قيم التاريخ والوقت مدة، وتعبّر DUR2MINUTES عن تلك المدة بعدد من الدقائق. عيّن تنسيق البيانات في C2 إلى رقم عند الحاجة. Apple: DUR2MINUTES

لإدخال صيغة أو فحصها، حدد خليتها واكتب =؛ سيفتح Numbers محرر الصيغ. إذا أظهرت صيغة خطأ، فانقر على مؤشر الخطأ لقراءة تفسيره قبل المتابعة. Apple: حساب القيم باستخدام البيانات في خلايا الجدول في Numbers على Mac

4. سجّل فارق التوقيت مع إشارته وتحقق من النتيجة

حوّل عدد الدقائق المطلق إلى ساعات كاملة وعدد الدقائق المتبقي. بالنسبة إلى 345، يساوي ذلك 5 ساعات و45 دقيقة. وبما أن النتيجة موجبة، سجّل +05:45. أما النتيجة -210 فستصبح -03:30؛ وتنطبق الإشارة على فارق التوقيت بأكمله.

في D2، أدخل الحساب العكسي:

=B2-DURATION(0,0,0,C2,0,0)

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

ما الأمثلة التي تكشف أخطاء التاريخ والإشارة؟

استخدم هذه الأزواج الاصطناعية للتحقق من تفسيرك. لكل صف إضافي، أنشئ A وB باستخدام DATE بالإضافة إلى DURATION، ثم استخدم مراجع خلايا ذلك الصف في عملية الطرح.

الطابع الزمني لنشر UTC الحقول المحلية المطابقة الدقائق فارق التوقيت
2026-06-30T23:40:00Z 2026-07-01 05:25:00 345 +05:45
2026-07-01T02:15:00Z 2026-06-30 22:45:00 -210 -03:30
2026-08-31T23:30:00Z 2026-09-01 01:30:00 120 +02:00

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

أبقِ ما يكفي من المنازل العشرية ظاهراً لملاحظة نتيجة تتضمن جزءاً من الدقيقة. بالنسبة إلى هذه المدخلات ذات الثواني الكاملة، تستدعي أي قيمة كسرية غير متوقعة التحقق: افحص الثواني ودقة المدخلات وما إذا كانت السجلات متطابقة فعلاً. لا تزل الكسور بالتقريب لمجرد الحصول على فارق توقيت مألوف. تتمتع فوارق التوقيت الرقمية في RFC 3339 بدقة الدقائق، لذا لا يمكن تمثيل اختلاف يتضمن ثوانٍ بأمانة بمجرد إلحاق فارق توقيت بصيغة HH:MM. RFC 3339، القسم 4.2

لماذا لا يمكنك استنتاج منطقة زمنية مسماة وحيدة؟

يصف فارق التوقيت العلاقة عند لحظة واحدة. وتوفّر المنطقة الزمنية المسماة قواعد لتحديد تلك العلاقة عند لحظات أخرى. يميّز RFC 9557 صراحةً بين هذين المفهومين، ويوضح لماذا لا يكفي فارق التوقيت وحده للعمليات المرتبطة بالتقويم المحلي، مثل إيجاد الوقت المحلي نفسه في اليوم التالي. لذا، لا يثبت تطابق فارق التوقيت وجود منطقة زمنية مسماة وحيدة. RFC 9557: تعريف المنطقة الزمنية

سجّل النتيجة هكذا: «فارق توقيت النشر المستنتج: +05:45؛ المنطقة الزمنية المسماة: غير معروفة». وإذا حصلت لاحقاً على معرّف منطقة من المصدر، فاحتفظ به على حدة. يمكن لمنشورات إضافية مقترنة أن تكشف فوارق توقيت إضافية، لكن اختيار منطقة يتطلب أدلة تتجاوز العثور على إدخال مطابق.

تتبع واجهات Apple البرمجية اتجاه الحساب هذا. تأخذ TimeZone.secondsFromGMT(for:) منطقة زمنية موجودة وتاريخاً لحساب فارق التوقيت. وتُضبط وسيطة التاريخ فيها افتراضياً على التاريخ الحالي، لذا يتطلب التحقق من منشور تمرير لحظة النشر. لا تقبل هذه الطريقة فارق توقيت ثم تعيد اسم المنطقة الأصلية. Apple: secondsFromGMT(for:)

متى ينبغي أن تتوقف وتحصل على مدخلات أفضل؟

اتبع تسلسل القرارات هذا قبل قبول النتيجة:

  1. لا تتوفر سوى تواريخ مدنية: احصل على أوقات الساعة ومرجع UTC. فالتاريخ وحده لا يحدد لحظة زمنية.
  2. يتضمن المرجع فارق توقيت رقمي غير صفري: حوّله إلى UTC باستخدام فارق التوقيت المذكور قبل استخدام ورقة العمل هذه.
  3. سبق تحويل المدخلين إلى لحظتين زمنيتين: احتفظ بالحقول المحلية الأصلية أو استرجعها. يؤدي طرح تمثيلين للحظة زمنية واحدة بعد توحيدهما إلى صفر.
  4. يتغير الفرق عند إظهار التواريخ: افحص القيم المخزنة كاملة. فالتاريخ المخفي يظل جزءاً من الحساب.
  5. ينجح الحساب لكن الاقتران غير مؤكد: احتفظ به بوصفه فرقاً محتملاً إلى أن تتأكد الصلة بين قيمتي النشر.

قد يضيف Numbers مكونات ناقصة بصمت: تذكر Apple أن إدخال الوقت وحده يضيف تاريخ اليوم. يؤدي إخفاء التاريخ أو الوقت إلى تغيير طريقة العرض، بينما تظل القيمة متاحة للحسابات. افحص عرض الخلية الذكي عندما لا توضح الخلية الظاهرة كل شيء. Apple: تنسيق التواريخ والعملات والمزيد في Numbers على Mac

كذلك، يثبت طابع UTC الزمني المنتهي بـ Z لحظة UTC من دون أن يحدد المنطقة المحلية الأصلية. ويحدّث RFC 9557 طريقة RFC 3339 في التعامل مع Z لتلائم فارقاً محلياً مجهولاً. وهذا يجعل التمثيل المحلي المنفصل ضرورياً لهذا الاستنتاج. RFC 9557، القسم 2.2

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

المصادر