مشاركة عبر


DateAddالدالات DateDiffو و TimeZoneOffset

Functions ينطبق على
DateAdd
DateDiff
تطبيقات Canvas Copilot Studio Desktop تتدفق أعمدة صيغة Dataverse التطبيقات المستندة إلى النموذج وظائف Power Platform CLI Dataverse Power Pages
TimeZoneOffset تعمل تطبيقات Canvas Copilot Studio Desktop على تدفقات التطبيقات المستندة إلى نموذج Power Platform CLI Dataverse لوظائف Power Pages
الدالة ينطبق على
DateAdd
DateDiff
TimeZoneOffset

إضافة أو البحث عن الفرق في قيم التاريخ/الوقت والتحويل بين التوقيت المحلي والتوقيت العالمي المنسق.

‏‏الوصف

DateAdd تضيف الدالة عددا من الوحدات إلى قيمة التاريخ/الوقت. والنتيجة هي قيمة تاريخ/وقت جديدة. يمكنك أيضًا طرح عدد من الوحدات من قيمة التاريخ/الوقت بتحديد قيمة سالبة.

ترجع DateDiff الدالة الفرق بين قيمتي التاريخ/الوقت. ونتج عن ذلك عدد كبير من الوحدات.

بالنسبة للدالتين، بإمكان الوحدات أن تكون TimeUnit.Milliseconds أو TimeUnit.Seconds أو TimeUnit.Minutes أو TimeUnit.Hours أو TimeUnit.Days, TimeUnit.Months أو TimeUnit.Quarters أو TimeUnit.Years. وبشكل افتراضي، تستخدم كلتا الدالتين TimeUnit.Days كوحدات.

ترجع TimeZoneOffset الدالة عدد الدقائق بين التوقيت المحلي للمستخدم و UTC (التوقيت العالمي المتفق عليه).

يمكنك استخدام DateAdd مع TimeZoneOffset للتحويل بين التوقيت المحلي للمستخدم و UTC (التوقيت العالمي المتفق عليه). ستؤدي الإضافة TimeZoneOffset إلى تحويل التوقيت المحلي إلى التوقيت العالمي المتفق عليه، وطرحه (إضافة السالب) سيتم تحويله من التوقيت العالمي المتفق عليه إلى التوقيت المحلي.

راجع أيضًا أنواع بيانات التاريخ والوقت والتاريخ/الوقت والتعامل مع التواريخ والأوقات للاطلاع على مزيد من المعلومات.

بناء الجملة

DateAdd( DateTime, Addition [, Units ] )

  • التاريخ والوقت - مطلوب. قيمة التاريخ/الوقت المطلوب العمل بها.
  • إضافة - مطلوب. عدد الوحدات المطلوب إضافتها إلى التاريخ والوقت.
  • الوحدات - اختياري. نوع الوحدات المراد إضافتها: TimeUnit.Milliseconds أو TimeUnit.Seconds أو TimeUnit.Minutes أو TimeUnit.Hours أو TimeUnit.Days أو TimeUnit.Months أو TimeUnit.Quarters أو TimeUnit.Years. في حالة عدم تحديدها، فإنه يتم استخدام TimeUnit.Days.

DateDiff( StartDateTime, EndDateTime [, Units ] )

  • StartDateTime - مطلوب. قيمة تاريخ/وقت البدء.
  • EndDateTime - مطلوب. قيمة تاريخ/وقت الانتهاء.
  • الوحدات - اختياري. نوع الوحدات المراد طرحها: TimeUnit.Milliseconds أو TimeUnit.Seconds أو TimeUnit.Minutes أو TimeUnit.Hours أو TimeUnit.Days أو TimeUnit.Months أو TimeUnit.Quarters أو TimeUnit.Years. في حالة عدم تحديدها، فإنه يتم استخدام TimeUnit.Days.

TimeZoneOffset( [ التاريخ والوقت ] )

  • التاريخ والوقت - اختياري. قيمة التاريخ/الوقت التي سيتم إرجاع الإزاحة لها. وبشكل افتراضي، يتم استخدام التاريخ/الوقت الحالي.

الأمثلة

في جميع هذه الأمثلة، افترض أن التاريخ والوقت الحاليين هو 15 يوليو، 2013، 1:02 م.

بسيط DateAdd

صيغة ‏‏الوصف نتيجة
Text( DateAdd( Now(), 3 ),
"dd-mm-yyyy hh:mm" )
إضافة ثلاثه أيام (الوحدات الافتراضية) إلى التاريخ والوقت الحاليين. "18-07-2013 13:02"
Text( DateAdd( Now(), 4, TimeUnit.Hours ),
"dd-mm-yyyy hh:mm" )
إضافة أربع ساعات إلى التاريخ والوقت الحاليين. "15-07-2013 17:02"
Text( DateAdd( Today(), 1, TimeUnit.Months ),
"dd-mm-yyyy hh:mm" )
إضافة شهر واحد إلى التاريخ الحالي، دون وقت كـ اليوم لا تقوم بإرجاع مكون وقت. "15-08-2013 00:00"
Text( DateAdd( Now(), -30, TimeUnit.Minutes ),
"dd-mm-yyyy hh:mm" )
طرح 30 دقيقة من التاريخ والوقت الحاليين. "15-07-2013 12:32"

بسيط DateDiff

صيغة ‏‏الوصف نتيجة
DateDiff( الآن(), DateValue("1/1/2014") ) إرجاع الفرق بين الوحدتين بالوحدات الافتراضية من TimeUnit.Days 170
DateDiff( الآن()، DateValue("1/1/2014"), TimeUnit.Months ) إرجاع الفرق بين القيمتين بـ TimeUnit.Months 6
DateDiff( الآن()، اليوم()، TimeUnit.Minutes ) إرجاع الفرق بين التاريخ/الوقت الحاليين والتاريخ الحالي فقط (دون وقت) بالدقائق. نظرًا لأن الآن في وقت لاحق عن اليوم ستكون النتيجة سالبة. -782

اختلاف التواريخ مع النتائج المجزءة

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

صيغة ‏‏الوصف نتيجة
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Hours ) يتم تجاهل الدقائق/الثواني، أما الفرق فيستند إلى الوقت حتى الساعة. 1
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Minutes )/60 يتم استخدام الدقائق بالفرق، وتنقسم النتيجة إلى 60 للفرق في الساعات. 0.5
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Seconds )/3600 يتم استخدام الدقائق والثواني بالفرق، وتنقسم النتيجة إلى 3600 للفرق في الساعات. 0.51

التحويل إلى التوقيت العالمي المتفق عليه

للتحويل إلى التوقيت العالمي المتفق عليه (التوقيت العالمي المتفق عليه)، أضف TimeZoneOffset للوقت المحدد.

على سبيل المثال، تخيل أن التاريخ والوقت الحاليين هو 15 يوليو، 2013، 1:02 م بالتوقيت الصيفي الباسيفيكي (PDT،‏ UTC-7). لتحديد الوقت الحالي بالتوقيت العالمي المتفق عليه، استخدم:

  • DateAdd(الآن()، TimeZoneOffset()، TimeUnit.Minutes )

TimeZoneOffset الافتراضيات إلى الوقت الحالي، لذلك لا تحتاج إلى تمرير وسيطة.

لمشاهده النتيجة، استخدم وظيفة Text مع التنسيق dd-mm-yyyy hh:mm، الذي سيقوم بإرجاع 15-07-2013 20:02.

التحويل من التوقيت العالمي المتفق عليه

للتحويل من UTC، اطرح TimeZoneOffset (بإضافة السالب) للوقت المحدد.

على سبيل المثال، تخيل تخزين تاريخ ووقت التوقيت العالمي المتفق عليه 15 يوليو، 2013، 8:02 م في متغير يُسمى StartTime. لضبط الوقت للمنطقة الزمنية الخاصة بالمستخدم، استخدم:

  • DateAdd( StartTime, −TimeZoneOffset( StartTime ), TimeUnit.Minutes )

لاحظ العلامة السالبة من قبل TimeZoneOffset لطرح الإزاحة بدلا من إضافتها.

لمشاهده النتيجة، استخدم وظيفة Text مع التنسيق dd-mm-yyyy hh:mm، مما سيؤدي إلى 15-07-2013 13:02 إذا كنت في التوقيت الصيفي الباسيفيكي.