To find 2nd Sunday of March

All,
     I have used the following code to find the second Sunday of march.
lastdate_of_march = Date.new(current_year, 3, 31)
i = lastdate_of_march.wday
second_sunday = Date.new(current_year, 3, (31-i))

is there any simple method to find Second Sunday of March.
If any ! knows kindly help me..

Regards,
Rajaa

···

--
Posted via http://www.ruby-forum.com/.

Come on, that's really not difficult. Start with the first day of
March and go from there. Knowing how many days there are in a week
should be sufficient. Note also, that you can use math operators on
Date instances (see "ri Date").

Cheers

robert

···

On Fri, Nov 12, 2010 at 7:22 AM, Rajaa Ramanathan <rajaram@riverstonetech.com> wrote:

I have used the following code to find the second Sunday of march\.

lastdate_of_march = Date.new(current_year, 3, 31)
i = lastdate_of_march.wday
second_sunday = Date.new(current_year, 3, (31-i))

is there any simple method to find Second Sunday of March.
If any ! knows kindly help me..

--
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/

rthompso@raker>~
$ irb
irb(main):001:0> require 'chronic'
=> true
irb(main):002:0> Chronic.parse('2nd sunday in march', :context => :future)
=> Sun Mar 13 13:00:00 -0400 2011
irb(main):003:0> Chronic.parse('2nd sunday in march', :context => :past)
=> Sun Mar 14 13:00:00 -0400 2010
irb(main):004:0>
irb(main):005:0> Chronic.parse('2nd sunday in march')
=> Sun Mar 13 13:00:00 -0400 2011

···

On 11/12/2010 1:22 AM, Rajaa Ramanathan wrote:

All,
      I have used the following code to find the second Sunday of march.
  lastdate_of_march = Date.new(current_year, 3, 31)
  i = lastdate_of_march.wday
  second_sunday = Date.new(current_year, 3, (31-i))

is there any simple method to find Second Sunday of March.
If any ! knows kindly help me..

Regards,
Rajaa

Think about it like this (assuming that you don't want to install the chronic gem):

The second week is the 8th to the 14th of the month. Sunday is wday 0.

If the 14th is a Monday, which has a wday of 1, the second Sunday is 14-1=13th.

end_of_week_2 = Date.civil(Date.today.year, 3, 14)
second_sunday = end_of_week_2 - end_of_week_2.wday

Sunday is easiest with this method (because it is wday==0), but you can generalize it to any day of the week.

-Rob

Rob Biedenharn
Rob@AgileConsultingLLC.com http://AgileConsultingLLC.com/
rab@GaslightSoftware.com http://GaslightSoftware.com/

···

On Nov 12, 2010, at 4:17 AM, Robert Klemme wrote:

On Fri, Nov 12, 2010 at 7:22 AM, Rajaa Ramanathan > <rajaram@riverstonetech.com> wrote:

    I have used the following code to find the second Sunday of march.
lastdate_of_march = Date.new(current_year, 3, 31)
i = lastdate_of_march.wday
second_sunday = Date.new(current_year, 3, (31-i))

is there any simple method to find Second Sunday of March.
If any ! knows kindly help me..

Come on, that's really not difficult. Start with the first day of
March and go from there. Knowing how many days there are in a week
should be sufficient. Note also, that you can use math operators on
Date instances (see "ri Date").

Cheers

robert

--
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/