Calcular fechas pasadas/futuras con Rails

Posted by vigosan, Mon Feb 25 12:22:00 UTC 2008

A raiz de ciertos posts que he leido en el foro de Rails-es sobre como calcular fechas pasadas o futuras, aquí dejo un pequeño ejemplo.

irb(main):001:0> require 'date'
=> true
irb(main):002:0> today = Date.today
=> #<Date: 4908771/2,0,2299161>
irb(main):003:0> today.to_s
=> "2007-10-12" 
irb(main):004:0> tomorrow = today+1
=> #<Date: 4908773/2,0,2299161>
irb(main):005:0> tomorrow.to_s     
=> "2007-10-13" 
irb(main):006:0> yesterday = today-1
=> #<Date: 4908769/2,0,2299161>
irb(main):007:0> yesterday.to_s
=> "2007-10-11" 
irb(main):008:0> nextmonth = today>>1
=> #<Date: 4908833/2,0,2299161>
irb(main):009:0> nextmonth.to_s      
=> "2007-11-12" 
irb(main):010:0> lastmonth = today<<1
=> #<Date: 4908711/2,0,2299161>
irb(main):011:0> lastmonth.to_s      
=> "2007-09-12" 
irb(main):012:0> lastmonth.strftime('%B %Y')
=> "September 2007" 
irb(main):013:0> lastmonth.strftime('%A %B %Y')
=> "Wednesday September 2007" 
irb(main):014:0> lastmonth.strftime('%a %b %y')
=> "Wed Sep 07" 

Como se puede comprobar:

+(n) Suma n días a la fecha
-(n) Resta n días a la fecha
>>(n) Suma n meses a la fecha
<<(n) Resta n meses a la fecha

Filed Under: Rails | Tags:

Comments