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 |