Wie subtrahiere ich zwei verschiedene UTC-Daten in Ruby und erhalte dann die Differenz in Minuten?Daten in Ruby subtrahieren und den Unterschied in Minuten erhalten
Dank
Wie subtrahiere ich zwei verschiedene UTC-Daten in Ruby und erhalte dann die Differenz in Minuten?Daten in Ruby subtrahieren und den Unterschied in Minuten erhalten
Dank
(time1 - time2)/60
Wenn die Zeitobjekte sind string, sie Time.parse(time)
erste
Wenn Sie zwei Datum oder Datetime-Objekte subtrahieren, ist das Ergebnis ein Rational das Vorstellen Anzahl der Tage zwischen ihnen. Was Sie brauchen, ist:
a = Date.new(2009, 10, 13) - Date.new(2009, 10, 11)
(a * 24 * 60).to_i # 2880 minutes
oder
a = DateTime.new(2009, 10, 13, 12, 0, 0) - DateTime.new(2009, 10, 11, 0, 0, 0)
(a * 24 * 60).to_i # 3600 minutes
Nicht sicher, ob es sich zwischen den Versionen geändert hat (Chubas 'Antwort ist im Internet üblich), aber ab Version 1.9.3p364 ist dies die richtige Antwort. – Ephemera
Ich denke meine Antwort ist korrekt seit vor 1.9.3 veröffentlicht wurde :) –
Der zweite Teil der Antwort ist nicht korrekt. 'DateTime' gibt die Anzahl der Sekunden zurück, und die akzeptierte Antwort sollte in diesem Fall angewendet werden - das heißt' (DateTime.new - DateTime.new)/60' – Aleks
https://rubygems.org/gems/time_difference - Zeitverschiebung gem für Ruby
start_time = Time.new(2013,1)
end_time = Time.new(2014,1)
TimeDifference.between(start_time, end_time).in_minutes
TimeDifference Juwel ist eine großartige Lösung – utiq
sollte es nicht mehr als 24 * 60 * werden? – mscccc
Hängt davon ab, ob die Objekte Zeitobjekte oder Datumsobjekte sind. Zeit # - gibt die Anzahl der Sekunden zurück, während Datum # - die Anzahl der Tage zurückgibt. –