wtorek, 29 grudnia 2009

Dodawanie/odejmowanie lat, miesięcy, dni i godzin w Ruby

W Ruby manipulowanie obiektami przechowującymi datę i czas może być kłopotliwe. W przypadku gdy chcemy dodać kilka dni do konkretnej daty, nie możemy zmodyfikować tylko pola days, gdyż ilość dodanych dni ma wpływ na końcowy miesiąc a także i rok.

W .NET struktura DateTime posiada metody AddDays, AddHours, AddMinutes itd.

Jednak Ruby nie jest gorszy, wystarczy wyposażyć go w Ruby Facets a w klasy i moduły Date, Time i DateTime zostaną rozszerzone o dodatkowe metody. Nas interesuje metoda advance.


require 'facets/date'
dni44 = DateTime.now.advance(:days=>44) # 44 dni od podanej daty

Brak komentarzy: