J'ai actuellement un modèle appelé Job qui a un attribut appelé CPU. Cela correspond à l'heure de l'UC qu'un travail était en cours d'exécution. Je voudrais ajouter tous les attributs de temps de tous les travaux pour une date spécifique. Cette colonne est au format 00:00:00. Par conséquent, j'ai pensé que cela fonctionnerait:Ajout d'heures en ruby sur les rails
def self.cpu_time
sum(:cpu)
end
Qui renvoie le suivant "Sat Jan 01 00:00:00 UTC 2000".
Pour mes données de test, j'ai utilisé les temps cpu suivants: 00:00:46 00:26:46
Toute aide serait appréciée
Cela a résolu mon problème, même si il ne semble pas être les rails ainsi:
def self.cput
@times = find(:all,
:select => 'cput')
@total_time =0
for time in @times do
@total_time += time.cput.to_i - 946684800
end
@total_time
end
La colonne CPU est stockée dans le format Heure 00:00:00 – jalagrange
Comment proposez-vous que je stocke l'heure en secondes? Je suis en train d'analyser un fichier XML dans lequel le nœud de temps CPU est également au format 00:00:00. Comment puis-je changer de format en secondes? – jalagrange
Un objet Temps représente une heure spécifique et non une durée. Si vous souhaitez stocker une durée, stockez le nombre de secondes. Vous pouvez convertir la chaîne "00:00:00" en secondes avec 'h, m, s =" 01:12:34 ".split (':'); h.to_i * 3600 + m.to_i * 60 + s' – mckeed