2010-05-17 26 views

Respuesta

31

(tiempo1 - tiempo2)/60

Si los objetos de tiempo son cuerdas, Time.parse(time) ellos primero

+3

No debería ser * 24 * 60? – mscccc

+7

Depende si los objetos en cuestión son objetos Time u objetos Date. Time # - devuelve el número de segundos, mientras que Date # - devuelve el número de días. –

55

Si se restan dos fechas o DateTime objetos, el resultado es un racional que representa la número de días entre ellos. Lo que necesita es:

a = Date.new(2009, 10, 13) - Date.new(2009, 10, 11) 
(a * 24 * 60).to_i # 2880 minutes 

o

a = DateTime.new(2009, 10, 13, 12, 0, 0) - DateTime.new(2009, 10, 11, 0, 0, 0) 
(a * 24 * 60).to_i # 3600 minutes 
+0

No estoy seguro si puede haber cambiado entre versiones (la respuesta de Chubas es común en Internet), pero a partir de la versión 1.9.3p364 esta es la respuesta correcta. – Ephemera

+0

Creo que mi respuesta ha sido correcta desde antes de que se lanzara 1.9.3 :) –

+0

La segunda parte de la respuesta no es correcta. 'DateTime' devuelve el número de segundos, y la respuesta aceptada debe aplicarse en ese caso, es decir' (DateTime.new - DateTime.new)/60' – Aleks

Cuestiones relacionadas