⏱️ الزمن والنقاط الزمنية في لغة نفطه
هذا الملف يشرح كيفية تعريف واستخدام الزمن، النقاط الزمنية، المقادير الزمنية والفترات الزمنية في لغة نفطه. كما يوضح كيفية التعامل مع المناطق الزمنية والإزاحات الزمنية، ويدعم الثواني وكسورها والفترات المركبة.
This file explains how to define and use time, temporal points, durations, and periods in Naftah language. It also shows how to work with time zones and UTC offsets, supporting seconds, fractional seconds, and composite periods.
🗓️ أنواع الزمن والنقاط الزمنية
| النوع | التعريف | الشكل | مثال | ملاحظات |
|---|---|---|---|---|
| زمن (Time) | نقطة زمنية محددة مع تاريخ ووقت | "اليوم الشهر السنة بالتقويم hh:mm:ss بتوقيت" |
"١ يناير ٢٠٢٤ بالتقويم الميلادي ١٢:٠٠ صباحاً بتوقيت القاهرة" |
يدعم الثواني وكسورها، 12/24 ساعة، التقويم الميلادي والهجري |
| مدة زمنية (Duration) | طول فترة زمنية بوحدة الساعات والدقائق والثواني | "مدة n ساعة و m دقيقة و s ثانية" |
"مدة 2 ساعات و 30 دقيقة" |
يدعم الثواني الجزئية والنانوثانية |
| فترة زمنية (Period) | طول فترة زمنية بوحدات السنوات والشهور والأيام | "فترة n سنة و m شهر و d يوم" |
"فترة 1 سنة و 6 أشهر" |
يمكن دمجها مع مقدار زمني لتشكيل فترة مركبة |
📋 تعريفات وأمثلة على الزمن والنقاط الزمنية
1. تعريف زمن ميلادي مع منطقة زمنية
زمن "١ يناير ٢٠٢٤ بالتقويم الميلادي ١٢:٠٠ صباحاً بتوقيت القاهرة"
2. تعريف زمن هجري مع منطقة زمنية
زمن "٥ رجب ١٤٤٥ بالتقويم الهجري ٣:٣٠ مساءً بتوقيت مكة"
3. تعريف زمن مع ثوانٍ وكسور
زمن "١٥ مارس ٢٠٢٣ بالتقويم الميلادي ٠٩:٤٥:١٥ بتوقيت دبي"
زمن "٢٩ رمضان ١٤٤٤ بالتقويم الهجري ١٢:٠٠:٠٠.٥٠٠ صباحاً بتوقيت الرياض"
4. تعريف نقطة زمنية بإزاحة UTC
نقطة_زمنية "١ شوال ١٤٤٥ بالتقويم الهجري ١٤:٠٠ +03:00"
نقطة_زمنية "٢٥ يوليو ٢٠٢١ بالتقويم الميلادي ٠٦:٣٠ مساءً +03:00"
⏳ دعم الكلمة «الآن» (Now)
تدعم لغة نفطه الكلمة الزمنية «الآن» للإشارة إلى اللحظة الحالية، ويمكن استخدامها مع:
- تاريخ فقط
- وقت فقط
- تاريخ ووقت معًا
- تقويم محدد
- منطقة زمنية أو إزاحة UTC
يتم تحديد نوع النقطة الزمنية الناتجة تلقائيًا حسب الصيغة المستخدمة.
🧾 أشكال «الآن» المدعومة
| الصيغة | النوع الناتج |
|---|---|
الآن |
تاريخ ووقت |
تاريخ الآن |
تاريخ فقط |
وقت الآن |
وقت فقط |
الآن بالتقويم … |
حسب السياق |
الآن +02:00 |
حسب السياق مع إزاحة |
✅ أمثلة عملية
1. الآن كتاريخ ووقت
نوع (نقطة_زمنية "الآن بالتقويم الهجري +02:00") يساوي "'تاريخ_و_وقت'"
➡️ ينتج نقطة زمنية كاملة (تاريخ ووقت) حسب التقويم والإزاحة المحددة.
2. الآن كتاريخ فقط
نوع (نقطة_زمنية "تاريخ الآن بالتقويم الهجري +02:00") يساوي "'تاريخ'"
➡️ يتم تجاهل الوقت، وتثبيت التاريخ الحالي فقط.
3. الآن كوقت فقط
نوع (نقطة_زمنية "وقت الآن +02:00") يساوي "'وقت'"
➡️ يتم تجاهل التاريخ، مع الحفاظ على الوقت الحالي والإزاحة الزمنية.
🧠 ملاحظات
- يمكن استخدام الآن داخل تعبيرات أكثر تعقيدًا (مثل
بين). - التقويم والمنطقة الزمنية اختياريان، لكنهما يؤثران على القيمة الناتجة.
- يتم تقييم «الآن» عند التنفيذ وليس عند التحليل النحوي.
🧭 الأسلوب الدالي (Function-Based Style) – التواريخ والأوقات
هذا الأسلوب يعتمد على دوال صريحة لإنشاء القيم الزمنية، بدل الصيغة النصية الحرة فقط. كل دالة تُرجع نوعًا زمنيًا محددًا.
⏱️ الوقت (وقت)
الوقت الحالي
الوقت_الحالي()
الوقت_الحالي_بتوقيت("دبي")
الوقت_الحالي_بإزاحة("+02:00")
🔹 النوع الناتج: 'وقت'
إنشاء وقت يدويًا
ساعة ودقيقة
انشاء_الوقت(15 , 03)
مع توقيت
انشاء_الوقت_بتوقيت(10 , 20 , "تونس")
مع إزاحة
انشاء_الوقت_بإزاحة(10 , 45 , "+02:00")
مع ثانية
انشاء_الوقت_بتوقيت_مع_ثانية(15 , 03 ؛ 10 , "تونس")
انشاء_الوقت_بإزاحة_مع_ثانية(10 , 45 ؛ 10 , "+02:00")
مع نانوثانية
انشاء_الوقت_مع_نانوثانية(15 , 03 ؛ 10 ؛ 10)
انشاء_الوقت_مع_نانوثانية_بتوقيت(10 , 20 ؛ 10 ؛ 10 , "تونس")
انشاء_الوقت_مع_الإزاحة_ونانوثانية(10 , 45 ؛ 10 ؛ 10 , "+02:00")
من عدد الثواني / النانوثواني منذ بداية اليوم
انشاء_الوقت_من_ثواني_اليوم(24739)
انشاء_الوقت_من_ثواني_اليوم_بتوقيت(24739 , "تونس")
انشاء_الوقت_من_نانوثواني_اليوم(24712312312339)
📅 التاريخ (تاريخ)
التاريخ الحالي
التاريخ_الحالي()
التاريخ_الحالي_بتقويم("الهجري")
التاريخ_الحالي_بتوقيت("القدس")
التاريخ_الحالي_بإزاحة("+04:00")
التاريخ_الحالي_بتقويم_وتوقيت("الهجري" ؛ "غزة")
🔹 النوع الناتج: 'تاريخ'
إنشاء تاريخ
انشاء_التاريخ_من_اليوم_و_شهر_و_سنة(14 , 05 , 1995)
انشاء_التاريخ_من_اليوم_و_شهر_و_سنة(14 , "ماي" , 1995)
مع تقويم
انشاء_التاريخ_من_اليوم_و_شهر_و_سنة_بتقويم("التقويم الميلادي" ، 14 , 05 , 1995)
خصائص التاريخ
ثابت تاريخ_ = انشاء_التاريخ_من_اليوم_و_شهر_و_سنة(1 , 1 , 2026)
احصل_على_السنة(تاريخ_)
احصل_على_رقم_الشهر(تاريخ_)
احصل_على_الشهر(تاريخ_)
احصل_على_اليوم(تاريخ_)
احصل_على_يوم_الأسبوع(تاريخ_)
هل_السنة_كبيسة(تاريخ_)
عدد_ايام_الشهر(تاريخ_)
عدد_ايام_السنة(تاريخ_)
عمليات على التاريخ
ثابت تاريخ_ = انشاء_التاريخ_من_اليوم_و_شهر_و_سنة(1 , 1 , 2026)
اضافة_سنوات(تاريخ_ , 1)
اضافة_اشهر(تاريخ_ , 1)
اضافة_اسابيع(تاريخ_ , 1)
اضافة_ايام(تاريخ_ , 1)
طرح_سنوات(تاريخ_ , 1)
طرح_شهور(تاريخ_ , 1)
طرح_اسابيع(تاريخ_ , 1)
طرح_ايام(تاريخ_ , 1)
🕰️ التاريخ والوقت (تاريخ_و_وقت)
الحالي
التاريخ_والوقت_الحالي()
التاريخ_والوقت_الحالي_بتقويم("ميلادي")
التاريخ_والوقت_الحالي_بتوقيت("غزة")
التاريخ_والوقت_الحالي_بإزاحة("+02:00")
التاريخ_والوقت_الحالي_بتقويم_وتوقيت("الهجري" , "غزة")
🔹 النوع الناتج: 'تاريخ_و_وقت'
إنشاء تاريخ ووقت
بدون منطقة
انشاء_التاريخ_والوقت_من_سنة_وشهر_ويوم_وساعة_ودقيقة(1995 ؛ 5 ؛ 3 ؛ 14 ؛ 5)
مع توقيت أو إزاحة
انشاء_التاريخ_والوقت_من_سنة_وشهر_ويوم_وساعة_ودقيقة_بتوقيت(1995 ؛ 5 ؛ 3 ؛ 14 ؛ 5 ؛ "تونس")
انشاء_التاريخ_والوقت_من_سنة_وشهر_ويوم_وساعة_ودقيقة_بإزاحة(1995 ؛ 5 ؛ 3 ؛ 14 ؛ 5 ؛ "+02:00")
مع ثانية / نانوثانية
انشاء_التاريخ_والوقت_من_سنة_وشهر_ويوم_وساعة_ودقيقة_وثانية(1995؛"ماي"؛3؛14؛5؛3)
انشاء_التاريخ_والوقت_من_سنة_وشهر_ويوم_وساعة_ودقيقة_وثانية_ونانوثانية(1995؛5؛3؛14؛5؛3؛505)
✅ الخلاصة
- النص الحر → مناسب للقراءة البشرية
- الأسلوب الدالي → ✔ قابل للتحليل ✔ غير ملتبس ✔ مطابق 100% للاختبارات ✔ مستقر توثيقيًا
⏱️ المقادير الزمنية (Durations)
أمثلة بسيطة
مقدار_زمني "مدة 3 ساعات"
مقدار_زمني "مدة 2 ساعات و 30 دقيقة"
قيمة_زمنية "مدة 1 ساعة و15 دقيقة"
أمثلة مع ثوانٍ وكسور
قيمة_زمنية "مدة 2 ساعات و 10 دقائق و 5 ثوان"
مقدار_زمني "مدة 2.5 ثانية"
مقدار_زمني "مدة 10.250 ثانية"
أمثلة مع دقائق ونانوثوانٍ
قيمة_زمنية "مدة 1 دقيقة و 10 نانوثوان"
مقدار_زمني "مدة 1 ثانية و 500 نانوثانية"
مثال كبير
قيمة_زمنية "مدة 1 ساعة و 30.75 ثانية"
📆 الفترات الزمنية (Periods)
فترات سنوية وشهرية
مقدار_زمني "فترة 1 سنة"
مقدار_زمني "فترة 5 سنوات"
مقدار_زمني "فترة 1 سنة و 6 أشهر"
فترات مركبة
مقدار_زمني "فترة 2 سنة و 3 أشهر"
قيمة_زمنية "فترة 1 سنة و 3 أشهر و 10 أيام"
فترات يومية
قيمة_زمنية "فترة 6 أشهر"
قيمة_زمنية "فترة 1 شهر و 10 أيام"
قيمة_زمنية "فترة 14 يوم"
⚙️ الفترات مع المقادير الزمنية
أمثلة على دمج الفترات الزمنية مع المقادير الزمنية
مقدار_زمني "فترة 1 سنة و 1 دقيقة و 10 نانوثوان"
مقدار_زمني "فترة 5 سنوات و 122 ساعات و 10 دقائق و 5 ثوان"
مقدار_زمني "فترة 1 سنة و 6 أشهر و 2 ساعات و 10 دقائق"
قيمة_زمنية "فترة 1 سنة و 3 أشهر و 10 أيام و 25 ساعات و 10 دقائق"
قيمة_زمنية "فترة 6 أشهر و 1 ساعة و15 دقيقة"
قيمة_زمنية "فترة 1 شهر و 10 أيام و 2 ساعات و 30 دقيقة"
قيمة_زمنية "فترة 14 يوم و 3 ساعات"
قيمة_زمنية "فترة 14 يوم و 28 ساعات"
⏱️ تعبيرات «بين» (Between Expressions)
تدعم لغة نفطه تعبيرات «بين … و …» أو «ما بين … و …» لحساب الفرق الزمني بين نقطتين زمنيتين.
يمكن أن تكون النقطتان:
- تاريخين ميلاديين
- تاريخين هجريين
- تاريخين بتقويمين مختلفين
- مع مناطق زمنية مختلفة
- أو بإزاحات UTC مختلفة
والناتج يكون:
- فترة زمنية
- مدة زمنية
- أو فترة مركبة (Period + Duration) حسب الفرق المحسوب.
🧾 الصيغة العامة
قيمة_زمنية "بين <نقطة زمنية> و <نقطة زمنية>"
أو
مقدار_زمني "ما بين <نقطة زمنية> و <نقطة زمنية>"
✅ أمثلة متنوعة
1. بين تاريخين بتقويمين مختلفين
قيمة_زمنية "بين ١ يناير ٢٠٢٤ بالتقويم الميلادي ١٢:٠٠ صباحاً بتوقيت القاهرة و ٥ رجب ١٤٤٥ بالتقويم الهجري ٣:٣٠ مساءً بتوقيت مكة"
➡️ الناتج: فترة مركبة (سنوات / أشهر / أيام + ساعات / دقائق).
2. بين نقطتين مع ثوانٍ وكسور
مقدار_زمني "بين ١٥ مارس ٢٠٢٣ بالتقويم الميلادي ٠٩:٤٥:١٥ بتوقيت دبي و ٢٩ رمضان ١٤٤٤ بالتقويم الهجري ١٢:٠٠:٠٠.٥٠٠ صباحاً بتوقيت الرياض"
➡️ يدعم الثواني الجزئية والنانوثوان.
3. بين منطقتين زمنيتين مختلفتين
قيمة_زمنية "ما بين ٢٥ يوليو ٢٠٢١ بالتقويم الميلادي ٠٦:٣٠ مساءً بتوقيت الكويت و ١ يناير ٢٠٢٤ بالتقويم الميلادي ١٢:٠٠ صباحاً +02:00"
➡️ يتم التحويل تلقائيًا إلى مرجع زمني موحد قبل الحساب.
4. بين نقطتين بنفس التاريخ واختلاف الإزاحة
قيمة_زمنية "بين ٤ سبتمبر ٢٠٢٠ بالتقويم الميلادي ٠٧:٠٠:٠٠ بتوقيت عمان و ٤ سبتمبر ٢٠٢٠ بالتقويم الميلادي ٠٧:٠٠:٠٠ +04:00"
➡️ الفرق ناتج فقط عن الإزاحة الزمنية.
5. بين نقطتين هجريتين مع إزاحات مختلفة
مقدار_زمني "بين ٥ رجب ١٤٤٥ بالتقويم الهجري ٣:٣٠ مساءً +03:00 و ١٣ ذو الحجة ١٤٤٢ بالتقويم الهجري ١١:٤٥:٣٠ +04:00"
➡️ الناتج قد يكون مدة سالبة أو موجبة حسب الترتيب.
🧠 ملاحظات مهمة
- ترتيب النقطتين يؤثر على إشارة الناتج (موجب / سالب).
- يمكن الدمج بين تقاويم مختلفة دون تدخل يدوي.
- يتم الحساب بدقة عالية مع دعم الثواني الكسرية.
- الناتج يُحدد تلقائيًا كـ:
PeriodDuration- أو فترة مركبة
⏳ الأسلوب الدالي (Function-Based Style) – المدد والفترات
هذا القسم يعرّف الدوال الخاصة بـ المدة والفترة والفترة مع مدة، سواء بالإنشاء المباشر أو بالعمليات الحسابية أو بالفرق بين نقطتين زمنيتين.
⌛ المدة (مدة)
إنشاء مدة
أنشئ_مدة_صفرية()
أنشئ_مدة_من_أيام(10)
أنشئ_مدة_من_ساعات(25)
أنشئ_مدة_من_دقائق(30)
أنشئ_مدة_من_ثواني(45)
أنشئ_مدة_من_ثواني_مع_نانو(40 , 15)
أنشئ_مدة_من_مللي(455555)
أنشئ_مدة_من_نانو(100000000000000000)
🔹 النوع الناتج: 'مدة'
عمليات على المدة
متغير مدة_ = أنشئ_مدة_من_ثواني(45)
أضف_أيام_للمدة(مدة_ , 10)
أضف_ساعات_للمدة(مدة_ , 10)
أضف_دقائق_للمدة(مدة_ , 600)
أضف_ثواني_للمدة(مدة_ , 36000)
أضف_مللي_للمدة(مدة_ , 36000000)
أضف_نانو_للمدة(مدة_ , 36000000000000)
اطرح_أيام_من_المدة(مدة_ , 10)
اطرح_ساعات_من_المدة(مدة_ , 10)
اطرح_دقائق_من_المدة(مدة_ , 600)
اطرح_ثواني_من_المدة(مدة_ , 36000)
اطرح_مللي_من_المدة(مدة_ , 36000000)
اطرح_نانو_من_المدة(مدة_ , 36000000000000)
خصائص المدة
متغير مدة_ = أنشئ_مدة_من_ثواني(45)
احصل_على_ساعات_المدة(مدة_)
احصل_على_دقائق_المدة(مدة_)
احصل_على_ثواني_المدة(مدة_)
احصل_على_مللي_المدة(مدة_)
احصل_على_نانو_المدة(مدة_)
📅 الفترة (فترة)
إنشاء فترة
أنشئ_فترة_صفرية()
أنشئ_فترة_من_سنوات(10)
أنشئ_فترة_من_شهور(120)
أنشئ_فترة_من_أسابيع(840)
أنشئ_فترة_من_أيام(5880)
🔹 النوع الناتج: 'فترة'
عمليات على الفترة
متغير فترة_ = أنشئ_فترة_من_سنوات(10)
أضف_سنوات_لفترة(فترة_ , 2)
أضف_أشهر_لفترة(فترة_ , 24)
أضف_أيام_لفترة(فترة_ , 10)
اطرح_سنوات_من_الفترة(فترة_ , 2)
اطرح_أشهر_من_الفترة(فترة_ , 24)
خصائص الفترة
متغير فترة_ = أنشئ_فترة_من_سنوات(10)
احصل_على_سنوات_الفترة(فترة_)
احصل_على_أشهر_الفترة(فترة_)
احصل_على_أيام_الفترة(فترة_)
🧭 الفترة مع مدة (فترة_مع_مدة)
إنشاء فترة مع مدة
أنشئ_فترة_و_مدة_صفرية()
أنشئ_فترة_و_مدة_من_سنوات(10)
أنشئ_فترة_و_مدة_من_شهور(120)
أنشئ_فترة_و_مدة_من_أسابيع(840)
أنشئ_فترة_و_مدة_من_أيام(5880)
أنشئ_فترة_و_مدة_من_ساعات(141120)
أنشئ_فترة_و_مدة_من_دقائق(8467200)
أنشئ_فترة_و_مدة_من_ثواني(508032000)
أنشئ_فترة_و_مدة_من_ثواني_مع_نانو(508032000 , 1000000000000000)
أنشئ_فترة_و_مدة_من_مللي(508032000000)
أنشئ_فترة_و_مدة_من_نانو(508032000000000)
🔹 النوع الناتج: 'فترة_مع_مدة'
عمليات على الفترة مع مدة
متغير فترة_مع_مدة_ = أنشئ_فترة_و_مدة_من_سنوات(10)
أضف_سنوات_لفترة_مع_مدة(فترة_مع_مدة_ , 1)
أضف_أشهر_لفترة_مع_مدة(فترة_مع_مدة_ , 12)
أضف_أيام_لفترة_مع_مدة(فترة_مع_مدة_ , 120)
أضف_ساعات_لفترة_مع_مدة(فترة_مع_مدة_ , 120)
أضف_دقائق_لفترة_مع_مدة(فترة_مع_مدة_ , 7200)
أضف_ثواني_لفترة_مع_مدة(فترة_مع_مدة_ , 432000)
أضف_مللي_لفترة_مع_مدة(فترة_مع_مدة_ , 432000000)
أضف_نانو_لفترة_مع_مدة(فترة_مع_مدة_ , 432000000000000)
اطرح_سنوات_من_الفترة_مع_مدة(فترة_مع_مدة_ , 1)
اطرح_أشهر_من_الفترة_مع_مدة(فترة_مع_مدة_ , 12)
اطرح_أيام_من_الفترة_مع_مدة(فترة_مع_مدة_ , 120)
اطرح_ساعات_من_الفترة_مع_مدة(فترة_مع_مدة_ , 120)
اطرح_دقائق_من_الفترة_مع_مدة(فترة_مع_مدة_ , 7200)
اطرح_ثواني_من_الفترة_مع_مدة(فترة_مع_مدة_ , 432000)
اطرح_مللي_من_الفترة_مع_مدة(فترة_مع_مدة_ , 432000000)
اطرح_نانو_من_الفترة_مع_مدة(فترة_مع_مدة_ , 432000000000000)
خصائص الفترة مع مدة
متغير فترة_مع_مدة_ = أنشئ_فترة_و_مدة_من_سنوات(10)
احصل_على_سنوات_الفترة_مع_مدة(فترة_مع_مدة_)
احصل_على_أشهر_الفترة_مع_مدة(فترة_مع_مدة_)
احصل_على_أيام_الفترة_مع_مدة(فترة_مع_مدة_)
احصل_على_ساعات_الفترة_مع_مدة(فترة_مع_مدة_)
احصل_على_دقائق_الفترة_مع_مدة(فترة_مع_مدة_)
احصل_على_ثواني_الفترة_مع_مدة(فترة_مع_مدة_)
احصل_على_مللي_الفترة_مع_مدة(فترة_مع_مدة_)
احصل_على_نانو_الفترة_مع_مدة(فترة_مع_مدة_)
🔁 المدة بين نقطتين زمنيتين
أنشئ_مدة_بين_نقطتين(
زمن "30 أكتوبر ٢٠٢٢ بالتقويم الميلادي ١٢:٠٠ بتوقيت تونس",
زمن "30 أكتوبر ٢٠٢٢ بالتقويم الميلادي ٢٢:٠٠ بتوقيت تونس"
)
🔹 الناتج: 'مدة'
أنشئ_مدة_بين_نقطتين(
زمن "1 شوال ١٤٤٥ بالتقويم الهجري ٠٠:٠٠ بتوقيت الدوحة",
زمن "11 شوال ١٤٤٥ بالتقويم الهجري ٠٠:٠٠ بتوقيت الدوحة"
)
🔹 الناتج: 'فترة'
أنشئ_مدة_بين_نقطتين(
زمن "25 يوليو ٢٠٢١ بالتقويم الميلادي ٠٨:٣٠ بتوقيت الكويت",
زمن "4 أغسطس ٢٠٢١ بالتقويم الميلادي ١٨:٣٠ بتوقيت الكويت"
)
🔹 الناتج: 'فترة_مع_مدة'
✅ الخلاصة
- النص الحر → مناسب لقراءة الفترات زمنيًا (أيام، شهور، سنوات)
- الأسلوب الدالي →
✔ يميّز بوضوح بين الفترة و المدة
✔ يحافظ على الدقة التقويمية (سنوات / شهور / أيام)
✔ قابل للتحليل الآلي بدون افتراضات
✔ غير ملتبس عند الحساب بين نقطتين زمنيتين
✔ مطابق 100% لاختبارات الفترة والفترة مع مدة
✔ مستقر توثيقيًا وقابل للتوسعة
🧠 ملاحظات مهمة
- يمكن استخدام معظم العمليات الحسابية والمنطقية على المقادير والفترات كما في القوائم، عنصر بعنصر.
- الفترات المركبة تدعم الجمع والطرح مع المقادير الزمنية.
- المناطق الزمنية والإزاحات الزمنية تمكن من تحويل الزمن بين مواقع مختلفة بسهولة.
- تدعم اللغة الثواني الجزئية والنانوثوان.