Vous pouvez obtenir la durée en soustrayant un DateTime d'un autre. Vous obtiendrez des objets DateTime de FasterCSV aussi longtemps si vous incluez le convertisseur: date_time. Par exemple:
FasterCSV.foreach(some_file, :converters => [:date_time]) do |row|
#blah
end
Ou, vous pouvez simplement les convertir vous-même en utilisant DateTime # parse. De là, vous pouvez utiliser Date#day_fraction_to_time pour obtenir un tableau contenant [hours, minutes, seconds, fraction_of_a_second]
, ce qui je pense est plus facile à travailler que la fraction de la journée.
Selon la façon dont vous souhaitez les afficher, il y a probablement des informations qui vous aideront dans le answers of this question. Ces réponses sont pour Rails, mais vous pouvez toujours inclure les parties nécessaires à partir de Rails, ou simplement regarder la source des fonctions (disponible dans la documentation de Rails) pour voir comment elles le font. C'est assez explicite.
Alors que la classe DateTime est OK, il y a aussi '' time.rb' 'qui étend la classe Time standard. Il ne gère pas l'ambiguïté et ne supporte pas les différents calendriers, il est donc beaucoup plus léger. La syntaxe est la même ('Time.parse()') – hhaamu
Addendum: t2 -t1 renvoie l'intervalle en secondes. – hhaamu
Peut-être. J'ai juste tendance à utiliser DateTime parce que ça a l'air d'être plus intelligent à propos de ce qu'il fait que Time, et c'est le plus gros point pour moi quand je choisis Ruby par rapport à d'autres langues. –