المعلمة: هل تصدقين ذلك؟ يمكن كتابة هذه الوحدة أسرع بعشرات المرات من أي طريقة أخرى! المعلمات هي كما يلي:
1: ما هو اليوم الأساسي؟
2: (اختياري) ما هو يوم الأسبوع الذي تبحث عنه؟ إذا لم يتم تحديدها، فإن القيمة الافتراضية هي السبت
3: (اختياري) هل يجب أن تبحث للأمام (الماضي) أم للخلف (المستقبل)؟
إذا لم يتم تحديدها، فإن القيمة الافتراضية هي البحث في المستقبل (المستقبل)
رمز البرنامج
PublicFunctionSpecificWeekday(ByValDAsDate,OptionalByValWhatDayAsVbDayOfWeek=vbSaturday,OptionalGetNextAsBoolean=True)AsDate
يوم عمل محدد=(((D-WhatDay GetNext)/7)-GetNext)*7 WhatDay
وظيفة النهاية
ربما تريد أن تعرف لماذا تمت كتابة البرنامج بهذه الطريقة؟
هل تعلم؟ في VB، اليوم الأساسي (اليوم 0) لجميع وظائف التاريخ هو 30 ديسمبر 1899 (السبت)، واليوم الأول هو 31 ديسمبر 1899 (الأحد)، لذا فإن خوارزمية دالة WeekDay لـ VB هي في الواقع (Date-1) مود 7 1.
قيمة الإرجاع
تاريخ
مثال:
أود أن أعرف أي الأيام التالية هي؟
الاثنين الماضي: يوم عمل محدد (Now,vbMonday,False)
السبت القادم: يوم محدد من أيام الأسبوع (الآن)
الجمعة القادمة، 9 سبتمبر 2000: SpecialWeekday("09/09/2000",vbFriday)->