Ответ ezpz почти идеален, но я надеюсь, что смогу добавить еще немного.
Гео спросил о времени в миллисекундах; это звучит как целое число, и я бы не пошел в обход земли с плавающей точкой. Таким образом, мой подход будет:
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
Умножение на целое число 1000 прекрасно сохраняет дробное число и также может быть немного быстрее.
Если вы имеете дело с датами и временем, вам может понадобиться класс DateTime . Это работает аналогично, но коэффициент преобразования составляет 24 *3600* 1000 = 86400000 .
Я обнаружил, что функции DateTime strptime и strftime неоценимы для анализа и форматирования строк даты / времени (например, в / из журналов). Что полезно знать, это:
Символы форматирования для этих функций (% H,% M,% S, ...) почти такие же, как для функций C, присутствующих в любой системе Unix / Linux; и
Есть еще несколько: в частности, % L делает миллисекунды!