Retrieve dates of current week
Moderators: FourthWorld, heatherlaine, Klaus, kevinmiller, robinmiller
Retrieve dates of current week
Hi,
Hit a bit of a stumble with a current project that I have not encountered before:
I need to be able to create a list of the all the dates in the current week..(Monday-Sunday)
Example
Query runs on Friday so get dates from Monday before though till Sunday..
I will also need to expand on this also to create a list for the next week..
			
			
									
									
						Hit a bit of a stumble with a current project that I have not encountered before:
I need to be able to create a list of the all the dates in the current week..(Monday-Sunday)
Example
Query runs on Friday so get dates from Monday before though till Sunday..
I will also need to expand on this also to create a list for the next week..
Re: Retrieve dates of current week
Nakia...
The script beow will return the dates from Monday - Sunday...
Hope it helps...
Dixie
			
			
									
									
						The script beow will return the dates from Monday - Sunday...
Code: Select all
on mouseUp
   put theWeekSeconds(the long date) into red
   put item 1 of red into green
   put item 2 of red into blue
   
   convert green to short date
   convert blue to short date
   set itemdel to "/"
   put item 2 of green & "/" & item 1 of green & "/" & item 3 of green & comma & \
         item 2 of blue & "/" & item 1 of blue & "/" & item 3 of blue
end mouseUp
function theWeekSeconds today
   put lineOffset( item 1 of today, the weekDayNames) into dayCheck
   convert today to seconds
   
   if dayCheck = 1 then
      put today into theWeekStart
      put today + (86400 * (7 -dayCheck)) into theWeekEnd
   else
      put today - (86400 * (dayCheck - 1)) into theWeekStart
      put today + (86400 * (7 -dayCheck)) into theWeekEnd
   end if
   
   return theWeekStart & "," & theWeekEnd
end theWeekSecondsDixie
Re: Retrieve dates of current week
Hi,
here is another take on this, does not use seconds just dateItems, assumes Sunday is the first day of week.
Using just dateItems avoids any problems with daylight saving.
also check system date for a localized date format.
Kind regards
Bernd
			
			
									
									
						here is another take on this, does not use seconds just dateItems, assumes Sunday is the first day of week.
Using just dateItems avoids any problems with daylight saving.
Code: Select all
on mouseUp
   put the date into tDate
   convert tDate to dateItems
   put last item of tDate into tDayOfWeek
   subtract tDayOfWeek - 1 from item 3 of tDate -- lets start sundays
      repeat 7 -- days
         put tDate into tDateCalc
         convert tDateCalc to short date
         --convert tDateCalc to long date
         put tDateCalc & comma after tCollect
         add 1 to item 3 of tDate
      end repeat
      delete last char of tCollect -- a comma
      put tCollect into field 1
end mouseUpKind regards
Bernd
Re: Retrieve dates of current week
Thanks everyone,
BN: to expand on your solution for retrieving the dates for the next week
Is it true that I change the line that is calculating the start day?
			
			
									
									
						BN: to expand on your solution for retrieving the dates for the next week
Is it true that I change the line that is calculating the start day?
Re: Retrieve dates of current week
Hi Nakia,
it depends on what you want. If you want the current week and the following week in one go then you would just change the repeat loop from 7 to 14. It will give you 2 weeks of dates starting at last Sunday of current week.
If you want just the dates of the week following the current week then you would change
to start on coming sunday. Hint you would have to add instead of subtract the right amount. Set a breakpoint and look in the debugger what happens in the dateItems.
Kind regards
Bernd
			
			
									
									
						it depends on what you want. If you want the current week and the following week in one go then you would just change the repeat loop from 7 to 14. It will give you 2 weeks of dates starting at last Sunday of current week.
If you want just the dates of the week following the current week then you would change
Code: Select all
subtract tDayOfWeek - 1 from item 3 of tDate -- lets start sundaysKind regards
Bernd
Re: Retrieve dates of current week
Thanks again for everyone help!!
I ended up just extending the loop for 14 days then adding an if condition that determined which variable to store the dates in 
 
			
			
									
									
						I ended up just extending the loop for 14 days then adding an if condition that determined which variable to store the dates in
 
 Code: Select all
put the date into tDate
   convert tDate to dateItems
   put last item of tDate into tDayOfWeek
   subtract tDayOfWeek -2  from item 3 of tDate ## This line calculates when to start
   repeat with x = 1 to 14 ## This is the amount of days to collect
      put tDate into tDateCalc
      convert tDateCalc to short date
      ## Convert tDateCalc to long date
      if x > 7 then
         put tDateCalc & return after lNextWeekDates
      else
         put tDateCalc & return after lCurrentWeekDates
      end if
      add 1 to item 3 of tDate
   end repeat
   delete last char of lCurrentWeekDates
   delete last char of lNextWeekDates

