-
-
Save tekin/1009935 to your computer and use it in GitHub Desktop.
Revisions
-
tekin revised this gist
Jun 6, 2011 . 1 changed file with 21 additions and 31 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,34 +1,24 @@ # Author: Ian Moss aka oceanician : http://twitter.com/oceanician # First Published: https://gist.github.com/1009253 # modulus is your friend! this works because of the way ruby # modulus behaves when the dvidend is negative. def friday_after(date) date +(5 -date.cwday) % 7 end # Returns all the Fridays between today and the date specified. def fridays_until(date) friday = friday_after(Date.today) fridays = [] while friday <= date fridays << friday friday += 7.days end fridays end future_date = Date.civil(y=2011, m=9, d=21) fridays = fridays_until(future_date) puts "Make the most of the next #{fridays.size} weekends until, "+future_date.to_s(:long) fridays.each{ |friday| puts "From: Fri #{friday.to_s} to Sun #{(friday.end_of_week).to_s}" } -
Ian M revised this gist
Jun 5, 2011 . 1 changed file with 5 additions and 7 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -8,16 +8,14 @@ def next_friday(d) d end def weekends_til( end_date ) weekends = [] friday_count = next_friday( Date.today ) while ( friday_count <= end_date ) weekends << friday_count friday_count = friday_count + 7.days end weekends -
Ian M revised this gist
Jun 5, 2011 . 1 changed file with 2 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,3 +1,5 @@ #Author: Ian Moss aka oceanician : http://twitter.com/oceanician #First Published: https://gist.github.com/1009253 def next_friday(d) while d.cwday!=5 -
Ian M created this gist
Jun 5, 2011 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,34 @@ def next_friday(d) while d.cwday!=5 d = d+1.day end d end def weekends_til(d) weekends = [] next_friday = next_friday( Date.today ) n = next_friday while ( n <= d ) weekends << n n=n+7.days end weekends end #calculate all the weekends from now, until the middle of September. #I'm running as part of a rails project with: # ruby script/runner lib\weekends.rb #future = Date.today + 5.months + 3.weeks future = Date.civil(y=2011, m=9, d=21) weekends=weekends_til(future) puts "Make the most of the next #{weekends.size} weekends until, "+future.to_s(:long) weekends.each{|w| puts "From: Fri "+w.to_s+" to Sun " +(w+3.days).to_s}