71 votes

Rails Décalage horaire en heures

J'essaie d'obtenir la différence en heures pour deux instances Time différentes. J'obtiens ces valeurs de la base de données sous la forme d'une colonne: datetime

Comment puis-je faire cela pour qu'il inclue les mois et les années dans le calcul tout en ignorant ou en arrondissant les minutes? Cela ne peut-il être fait que manuellement ou existe-t-il une fonction pour le faire?

Je vous remercie

140voto

Romulo Ceccon Points 5402
 ((date_2 - date_1) / 3600).round
 

ou

 ((date_2 - date_1) / 1.hour).round
 

19voto

user2295540 Points 161

Essayez la perle du décalage horaire pour Ruby à l’ adresse https://rubygems.org/gems/time_difference

 start_time = Time.new(2013,1)
end_time = Time.new(2014,1)
TimeDifference.between(start_time, end_time).in_years
 

12voto

dux Points 96

cela fonctionne très bien, exemple pour le nombre d'heures depuis le compte créé par l'utilisateur

 (Time.parse(DateTime.now.to_s) - Time.parse(current_user.created_at.to_s))/3600
 

6voto

abhidsm Points 361

Vous pouvez utiliser une gemme appelée time_diff pour obtenir la différence de temps dans des formats très utiles

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X