November 2012
Intermediate to advanced
888 pages
54h 46m
Polish
Należy obliczyć dystans dzielący dwie daty bądź wyznaczyć datę odległą o ustalony dystans — w przód lub wstecz — od pewnej daty odniesienia.
Ponieważ obiekty klas Time, DateTime i Date reprezentowane są w postaci liczb, można do nich dodawać i odejmować od nich liczby. W przypadku obiektów Time powoduje to dodanie (odjęcie) odpowiedniej liczby sekund, w przypadku dwóch pozostałych klas — odpowiedniej liczby dni.
require 'date' y2k = Time.gm(2000, 1, 1) # => Sat Jan 01 00:00:00 UTC 2000 y2k + 1 # => Sat Jan 01 00:00:01 UTC 2000 y2k - 1 # => Fri Dec 31 23:59:59 UTC 1999 y2k + (60 * 60 * 24 * 365) # => Sun Dec 31 00:00:00 UTC 2000 y2k_dt = DateTime.new(2000, 1, 1) (y2k_dt + 1).to_s # => "2000-01-02T00:00:00Z" ...