برمجة دلفي: إجراءات التاريخ / الوقت

click fraud protection

مقارنة قيمتي TDateTime (إرجاع "أقل" أو "يساوي" أو "أكبر"). يتم تجاهل جزء الوقت إذا "سقطت" القيمتان في نفس اليوم.

وظيفة CompareDateTime

مقارنة قيمتي TDateTime (إرجاع "أقل" أو "يساوي" أو "أكبر").

إعلان:
اكتب TValueRelationship = -1..1
وظيفة قارن التاريخ (مقدار ثابت ADate، BDate: TDateTime): TValueRelationship

وصف:
مقارنة قيمتي TDateTime (إرجاع "أقل" أو "يساوي" أو "أكبر").

يمثل TValueRelationship العلاقة بين قيمتين. تحتوي كل واحدة من قيم TValueRelationship الثلاثة على ثابت رمزي "معجب":
-1 [LessThanValue] القيمة الأولى أقل من القيمة الثانية.
0 [EqualsValue] القيمتان متساويتان.
1 [GreaterThanValue] القيمة الأولى أكبر من القيمة الثانية.
نتائج التاريخ في:

LessThanValue إذا كان ADate أقدم من BDate.
يساوي القيمة إذا كانت أجزاء التاريخ والوقت لكل من ADate و BDate هي نفسها
GreaterThanValue إذا كان ADate بعد BDate.

مثال:

var ThisMoment، FutureMoment: TDateTime؛ ThisMoment: = الآن ؛ FutureMoment: = IncDay (ThisMoment، 6)؛ // يضيف 6 أيام. // CompareDateTime (ThisMoment، FutureMoment) بإرجاع LessThanValue (-1) // CompareDateTime (FutureMoment، ThisMoment) ترجع GreaterThanValue (1)
instagram viewer

وظيفة CompareTime

مقارنة قيمتي TDateTime (إرجاع "أقل" أو "يساوي" أو "أكبر"). يتم تجاهل جزء التاريخ في حالة حدوث كلتا القيمتين في نفس الوقت.

إعلان:
اكتب TValueRelationship = -1..1
وظيفة التاريخ (مقدار ثابت ADate، BDate: TDateTime): TValueRelationship

وصف:
مقارنة قيمتي TDateTime (إرجاع "أقل" أو "يساوي" أو "أكبر"). تجاهل جزء الوقت في حالة حدوث القيمتين في نفس الوقت.

يمثل TValueRelationship العلاقة بين قيمتين. تحتوي كل واحدة من قيم TValueRelationship الثلاثة على ثابت رمزي "معجب":
-1 [LessThanValue] القيمة الأولى أقل من القيمة الثانية.
0 [EqualsValue] القيمتان متساويتان.
1 [GreaterThanValue] القيمة الأولى أكبر من القيمة الثانية.
نتائج التاريخ في:

LessThanValue إذا حدث ADate في وقت سابق من اليوم المحدد بواسطة BDate.
يساوي القيمة إذا كانت أجزاء الوقت لكل من ADate و BDate هي نفسها ، متجاهلة جزء التاريخ.
أكبر من القيمة إذا حدث ADate في وقت لاحق من اليوم المحدد من قبل BDate.

مثال:

var ThisMoment، AnotherMoment: TDateTime؛ ThisMoment: = الآن ؛ AnotherMoment: = IncHour (ThisMoment، 6)؛ // يضيف 6 ساعات. // CompareDate (ThisMoment، AnotherMoment) تُرجع LessThanValue (-1) // CompareDate (AnotherMoment، ThisMoment) يقوم بإرجاع GreaterThanValue (1

دالة التاريخ

إرجاع تاريخ النظام الحالي.

إعلان:
نوع TDateTime = نوع مزدوج؛

وظيفة التاريخ: TDateTime ؛

وصف:
إرجاع تاريخ النظام الحالي.

الجزء المكمل لقيمة TDateTime هو عدد الأيام التي مرت منذ 12/30/1899. الجزء الكسري لقيمة TDateTime هو كسر لمدة 24 ساعة قد انقضت.

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

مثال: ShowMessage ("اليوم هو" + DateToStr (التاريخ)) ؛

دالة DateTimeToStr

يحول قيمة TDateTime إلى سلسلة (التاريخ والوقت).

إعلان:
نوع
TDateTime = نوع مزدوج؛

وظيفة DayOfWeek (التاريخ: TDateTime): عدد صحيح ؛

وصف:
إرجاع يوم الأسبوع لتاريخ محدد.

ترجع DayOfWeek عددًا صحيحًا بين 1 و 7 ، حيث يكون الأحد هو اليوم الأول من الأسبوع ويوم السبت هو السابع.
DayOfTheWeek غير متوافق مع معيار ISO 8601.

مثال:

const أيام: صفيف [1..7] من السلسلة = ('الاحد الاثنين الثلاثاء الاربعاء الخميس الجمعة السبت') ShowMessage ('Today is' + Days [DayOfWeek (Date)])؛ //اليوم هو الاثنين

الوظيفة بين الأيام

يعطي عدد الأيام الكاملة بين تاريخين محددين.

إعلان:
وظيفة
الأيام بين (const ANow، AThen: TDateTime): عدد صحيح؛

وصف:
يعطي عدد الأيام الكاملة بين تاريخين محددين.

الدالة تحسب أيام كاملة فقط. وهذا يعني أنها ستعود 0 كنتيجة للاختلاف بين 05/01/2003 23:59:59 و 05/01/2003 23:59:58 - حيث يكون الاختلاف الفعلي واحدًا * كل * يوم ناقص ثانية واحدة .

مثال:

var dtNow، dtBirth: TDateTime؛ DaysFromBirth: عدد صحيح ؛ dtNow: = الآن ؛ dtBirth: = EncodeDate (1973، 1، 29)؛ DaysFromBirth: = DaysB Between (dtNow، dtBirth) ؛ ShowMessage ("Zarko Gajic" موجود "" + IntToStr (DaysFromBirth) + "أيام كاملة!") ؛

دالة DateOf

إرجاع جزء التاريخ فقط لقيمة TDateTime عن طريق تعيين جزء الوقت إلى 0.

إعلان:
وظيفة
DateOf (التاريخ: TDateTime): TDateTime

وصف:
إرجاع جزء التاريخ فقط لقيمة TDateTime عن طريق تعيين جزء الوقت إلى 0.

يقوم DateOf بتعيين جزء الوقت إلى 0 ، وهو ما يعني منتصف الليل.

مثال:

var ThisMoment، ThisDay: TDateTime؛ ThisMoment: = الآن ؛ // -> 06/27/2003 10:29:16:138. ThisDay: = DateOf (ThisMoment) ؛ // This Day: = 06/27/2003 00: 00: 00: 000

دالة DecodeDate

يفصل قيم السنة والشهر واليوم عن قيمة TDateTime.

إعلان:
إجراء
DecodeDate (التاريخ: TDateTime؛ فار السنة ، الشهر ، اليوم: Word) ؛؛

وصف:
يفصل قيم السنة والشهر واليوم عن قيمة TDateTime.

إذا كانت قيمة TDateTime المعطاة أقل من الصفر أو مساوية له ، يتم تعيين معلمات إرجاع السنة والشهر واليوم على صفر.

مثال:

var Y، M، D: Word؛ DecodeDate (التاريخ ، Y ، M ، D) ؛ إذا كانت Y = 2000 إذن. ShowMessage ('أنت في قرن "خاطئ"!) ؛

دالة EncodeDate
ينشئ قيمة TDateTime من قيم السنة والشهر واليوم.

إعلان:
وظيفة
EncodeDate (السنة ، الشهر ، اليوم: Word): TDateTime

وصف:
ينشئ قيمة TDateTime من قيم السنة والشهر واليوم.

يجب أن تكون السنة بين 1 و 9999. تتراوح قيم الشهر الصالحة من 1 إلى 12. تتراوح قيم اليوم الصالحة من 1 إلى 28 أو 29 أو 30 أو 31 ، اعتمادًا على قيمة الشهر.
إذا فشلت الوظيفة ، فإن EncodeDate يثير استثناء EConvertError.

مثال:

var Y، M، D: Word؛ dt: TDateTime ؛ y: = 2001 ؛ م: = 2 ؛ D: = 18 ؛ dt: = EncodeDate (Y، M، D) ؛ ShowMessage ("ستكون بورنا. عام واحد في "+ DateToStr (dt))

دالة FormatDateTime
تنسيق قيمة TDateTime إلى سلسلة.

إعلان:
وظيفة
FormatDateTime (مقدار ثابت Fmt: سلسلة ؛ القيمة: TDateTime): خيط;

وصف:
تنسيق قيمة TDateTime إلى سلسلة.

يستخدم FormatDateTime التنسيق المحدد بواسطة معلمة Fmt. لمعرفة محددات التنسيق المدعومة ، انظر ملفات تعليمات دلفي.

مثال:

var s: string؛ د: TDateTime ؛... د: = الآن ؛ // اليوم + الوقت الحالي. s: = FormatDateTime ('dddd'، d) ؛ // s: = الأربعاء. s: = FormatDateTime ("" اليوم هو "dddd" دقيقة "nn '، د) // s: = اليوم الأربعاء دقيقة 24

دالة IncDay

إضافة أو طرح عدد معين من الأيام من قيمة التاريخ.

إعلان:
وظيفة
IncDay (ADate: TDateTime ؛ الأيام: عدد صحيح = 1): TDateTime؛

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

إذا كانت معلمة الأيام سالبة ، فسيكون التاريخ المُعاد هو

مثال:

var var التاريخ: TDateTime؛ EncodeDate (التاريخ ، 2003 ، 1 ، 29) // 29 يناير 2003. IncDay (التاريخ -1) // 28 يناير 2003

الآن وظيفة

إرجاع التاريخ والوقت الحاليين للنظام.

إعلان:
نوع
TDateTime = نوع مزدوج؛

وظيفة الآن: TDateTime ؛

وصف:
إرجاع التاريخ والوقت الحاليين للنظام.

الجزء المكمل لقيمة TDateTime هو عدد الأيام التي مرت منذ 12/30/1899. الجزء الكسري لقيمة TDateTime هو كسر لمدة 24 ساعة قد انقضت.

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

مثال: ShowMessage ('Now is' + DateTimeToStr (Now)) ؛

وظيفة بين السنوات

يعطي عدد السنوات الكاملة بين تاريخين محددين.

إعلان:
وظيفة
السنوات بين (مقدار ثابت SomeDate، AnotherDate: TDateTime): عدد صحيح؛

وصف:
يعطي عدد السنوات الكاملة بين تاريخين محددين.

يُرجع YearsB Between تقريبًا بناءً على افتراض 365.25 يومًا في السنة.

مثال:

var dtSome، dtAnother: TDateTime؛ DaysFromBirth: عدد صحيح ؛ dtSome: = EncodeDate (2003، 1، 1) ؛ dtAnother: = EncodeDate (2003، 12، 31)؛ السنوات بين (dtSome، dtAnother) == 1 // غير سنة كبيسة. dtSome: = EncodeDate (2000، 1، 1) ؛ dtAnother: = EncodeDate (2000، 12، 31) ؛ السنوات بين (dtSome، dtAnother) == 0 // سنة كبيسة
instagram story viewer