Hello, I am a complete newbie with Ruby and Rails. I am working on learning it by writing a project I was going to write in PHP using Rails. I am having a difficult time finding clear information on how I would do this. I need to take a date out of a table in my database and given another day calculate the next 28 day anniversery of the original date. This is used to calculate a delivery schedule based on every 28 day deliveries It is currently calculated in a spreadsheet using this method. =B3+28 + (INT((B4-B3)/28)*28) Where B3 is the start date(which will be pulled from a table) and B4 is the current date (or any date in the future). So if B3 is April 3, 2006 and B4 is January 10, 2007 it will give me February 5, 2007. Any tips on how I could accomplish this? I tried various methods but they started to get long and didn''t seem to be as clean as most of the Rails/Ruby code I''ve seen. -- Posted via http://www.ruby-forum.com/.
this will kill you.... Time.now + 28.days Mikkel Bruun www.strongside.dk - Football Portal(DK) ting.minline.dk - Buy Old Stuff!(DK) -- Posted with http://DevLists.com. Sign up and save your time!
Mikkel Bruun wrote:> this will kill you.... > > > Time.now + 28.days > > > Mikkel Bruun > > www.strongside.dk - Football Portal(DK) > ting.minline.dk - Buy Old Stuff!(DK)Yes that will figure out what 28 days from now is, but it doesn''t give me what I asked. That tells me the next day from now, but I want to calulate the next day based on an original date that could be 2 years in the past and a future date that could be 3 years from right now. -- Posted via http://www.ruby-forum.com/.
On 3/31/06, Wes Smith <bionicwillow@yahoo.com> wrote:> Mikkel Bruun wrote: > > this will kill you.... > > > > > > Time.now + 28.days > > Yes that will figure out what 28 days from now is, but it doesn''t give > me what I asked. > > That tells me the next day from now, but I want to calulate the next day > based on an original date that could be 2 years in the past and a future > date that could be 3 years from right now.You have a Date object right? If so, add 28 to it. d2 = d + 28 If it''s really a Time object, then just like Mikkel posted you add 28.days to whatever Time object you have. (Time.now was just an example.) -- James
I''m answering my own post. This is what I wanted: B3 = Date.new(2006, 4, 3) // Start date pulled from table B4 = Date.new(2006, 10, 6) // Any random date entered by user diff = B3 + ((B4 - B3) / 28).ceil * 28 diff.asctime // Produces "Mon Oct 16 00:00:00 2006" -- Posted via http://www.ruby-forum.com/.
Does rails has any functions to calcualte the day(monday, tuesday) from the given date
On 4/30/06, Anonymous <list@freeonrails.com> wrote:> > Does rails has any functions to calcualte the day(monday, tuesday) from the given date% ruby script/console Loading development environment.>> d = Date.new(2006,5,1)=> #<Date: 4907713/2,0,2299161>>> d.wday=> 1>> Date::DAYNAMES[d.wday]=> "Monday">> Date::ABBR_DAYNAMES[d.wday]=> "Mon" hth, Rick