Hello Craig,
Just a thought. You said you could easily find out what day it is when given a particular date (say in the format MM/DD/YYYY).
If you can now find out what day is the first of every month. Then you can easily figure out the 1st Monday or 1st Tuesday and so on.
Lets say, we would be passing in a date in the format MM/DD/YYYY. Pluck the month and year out of this given date. Substitute 01 for the first day of the month. Now the date would become MM/01/YYYY.
Now as you know how to find out the day when a particular date is given. Find out the day of MM/01/YYYY.
Code: Select all
If ( MM/01/YYYY ) = 'Monday'
Then FirstMonday = MM/DD/YYYY
FirstTuesday = MM/DD+1/YYYY
FirstWednesday = MM/DD+2/YYYY
FirstThursday = MM/DD+3/YYYY
FirstFriday = MM/DD+4/YYYY
FirstSaturday = MM/DD+5/YYYY
FirstSunday = MM/DD+6/YYYY
Else If ( MM/01/YYYY ) = 'Tuesday'
Then
FirstMonday = MM/DD-1/YYYY
FirstTuesday = MM/DD/YYYY
FirstWednesday = MM/DD+1/YYYY
FirstThursday = MM/DD+2/YYYY
FirstFriday = MM/DD+3/YYYY
FirstSaturday = MM/DD+4/YYYY
FirstSunday = MM/DD+5/YYYY
Else If ( MM/01/YYYY ) = 'Wednesday'
Then
FirstMonday = MM/DD-2/YYYY
FirstTuesday = MM/DD-1/YYYY
FirstWednesday = MM/DD/YYYY
FirstThursday = MM/DD+1/YYYY
FirstFriday = MM/DD+2/YYYY
FirstSaturday = MM/DD+3/YYYY
FirstSunday = MM/DD+4/YYYY
Else If ( MM/01/YYYY ) = 'Thursday'
Then
FirstMonday = MM/DD-3/YYYY
FirstTuesday = MM/DD-2/YYYY
FirstWednesday = MM/DD-1/YYYY
FirstThursday = MM/DD/YYYY
FirstFriday = MM/DD+1/YYYY
FirstSaturday = MM/DD+2/YYYY
FirstSunday = MM/DD+3/YYYY
Else If ( MM/01/YYYY ) = 'Friday'
Then
FirstMonday = MM/DD-4/YYYY
FirstTuesday = MM/DD-3/YYYY
FirstWednesday = MM/DD-2/YYYY
FirstThursday = MM/DD-1/YYYY
FirstFriday = MM/DD/YYYY
FirstSaturday = MM/DD+1/YYYY
FirstSunday = MM/DD+2/YYYY
Else If ( MM/01/YYYY ) = 'Saturday'
Then
FirstMonday = MM/DD-5/YYYY
FirstTuesday = MM/DD-4/YYYY
FirstWednesday = MM/DD-3/YYYY
FirstThursday = MM/DD-2/YYYY
FirstFriday = MM/DD-1/YYYY
FirstSaturday = MM/DD/YYYY
FirstSunday = MM/DD+1/YYYY
Else If ( MM/01/YYYY ) = 'Sunday'
Then
FirstMonday = MM/DD-6/YYYY
FirstTuesday = MM/DD-5/YYYY
FirstWednesday = MM/DD-4/YYYY
FirstThursday = MM/DD-3/YYYY
FirstFriday = MM/DD-2/YYYY
FirstSaturday = MM/DD-1/YYYY
FirstSunday = MM/DD/YYYY
Now you have the 1st Mon,Tue, Wed, Thu, Fri, Sat and Sun of a given date.
May be it could be more efficient, this is what I could get from the top of my head.
Thanks,
Whale.