3.6. Obliczanie dystansu między datami

Problem

Chcemy obliczyć liczbę dni dzielącą chwilę obecną od pewnego zdarzenia w przeszłości, a także liczbę dni, jakie upłyną do momentu zajścia pewnego przyszłego wydarzenia.

Rozwiązanie

Odejmij obiekt reprezentujący chwilę wcześniejszą od obiektu reprezentującego chwilę późniejszą. Jeśli obydwa obiekty będą klasy Time, otrzymany wynik będzie liczbą zmiennopozycyjną wyrażającą dystans między nimi w sekundach; w celu otrzymania wartości tego dystansu w dniach należy podzielić go przez ilość sekund składającą się na dzień.

def last_modified(file) t1 = File.stat(file).ctime t2 = Time.now elapsed = (t2-t1)/(60*60*24) puts "#{file} był ostatnio modyfikowany #{elapsed} dni temu." end last_modified("/etc/passwd") ...

Get Ruby. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.