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.