Jak odjąć dwie różne daty UTC w Ruby, a następnie uzyskać różnicę w minutach?Odejmij daty w Ruby i uzyskaj różnicę w minutach
Dzięki
Jak odjąć dwie różne daty UTC w Ruby, a następnie uzyskać różnicę w minutach?Odejmij daty w Ruby i uzyskaj różnicę w minutach
Dzięki
(time1 - Time2)/60
Jeżeli przedmioty czasowe są ciąg, Time.parse(time)
je najpierw
Jeśli odjąć dwie daty lub DateTime obiektów, wynik jest racjonalna reprezentujący liczba dni między nimi. Co potrzebne jest:
a = Date.new(2009, 10, 13) - Date.new(2009, 10, 11)
(a * 24 * 60).to_i # 2880 minutes
lub
a = DateTime.new(2009, 10, 13, 12, 0, 0) - DateTime.new(2009, 10, 11, 0, 0, 0)
(a * 24 * 60).to_i # 3600 minutes
Nie wiem, czy mogło się zmienić między wersjami (odpowiedź Chubasa jest powszechna w Internecie), ale od wersji 1.9.3p364 jest to poprawna odpowiedź. – Ephemera
Myślę, że moja odpowiedź była poprawna, ponieważ przed wydaniem 1.9.3 :) –
Druga część odpowiedzi nie jest poprawna. 'DateTime' zwraca liczbę sekund, a przyjęta odpowiedź powinna być zastosowana w tym przypadku - czyli' (DateTime.new - DateTime.new)/60' – Aleks
https://rubygems.org/gems/time_difference - Time Difference gem dla Ruby
start_time = Time.new(2013,1)
end_time = Time.new(2014,1)
TimeDifference.between(start_time, end_time).in_minutes
Klejnot TimeDifference to świetne rozwiązanie – utiq
nie należy * 24 * 60? – mscccc
Zależy, czy przedmiotami są obiekty Time, czy obiekty Date. Czas # - zwraca liczbę sekund, natomiast Data # - zwraca liczbę dni. –