ezpz la réponse est presque parfait, mais j'espère que je peux ajouter un peu plus.
Geo interrogé sur le temps en millisecondes; cela sonne comme un entier en quantité, et je ne voudrais pas prendre la déviation à virgule flottante terre. Donc mon approche serait:
irb(main):038:0> t8 = Time.now
=> Sun Nov 01 15:18:04 +0100 2009
irb(main):039:0> t9 = Time.now
=> Sun Nov 01 15:18:18 +0100 2009
irb(main):040:0> dif = t9 - t8
=> 13.940166
irb(main):041:0> (1000 * dif).to_i
=> 13940
En multipliant par un nombre entier de 1000 conserve le nombre fractionnaire parfaitement et peut-être un peu plus rapide aussi.
Si vous avez affaire à des dates et des heures, vous devrez peut-être utiliser le DateTime classe. Cela fonctionne de la même manière, mais le facteur de conversion est 24 * 3600 * 1000 = 86400000 .
J'ai trouvé DateTime est strptime et strftime fonctions précieux dans l'analyse et la mise en forme de la date/heure des chaînes de caractères (par exemple pour/à partir de journaux). Ce qui est très pratique pour savoir, c'est:
Les caractères de formatage pour ces fonctions (%H, %M, %S, ...) sont presque les mêmes que pour les fonctions C trouvé sur n'importe quel système Unix/Linux; et
Il y a un peu plus: En particulier, %L ne millisecondes!