Ruby on Rails: преобразование даты и времени из формата Excel (float) в DateTime

Небольшое предисловие: в начале месяца я начал искать, на чем сделать один интересный и внезапно появившийся проект, и в итоге выбрал Ruby on Rails. О выборе, кстати, ни разу не пожалел (несмотря на то, что с Ruby вообще не был знаком и многие вещи оказались сильно непривычными). Думал о Drupal, но вовремя отказался. Кто-то правильно написал, что с ним большую часть времени надо fight the functionality you don't need. Конечно, был вариант делать все просто на PHP, но тогда я слишком долго делал бы довольно простые вещи — а в RoR они уже есть.

Так что, наверное, время от времени здесь будут появляться заметки, касающиеся разработки на RoR.

Вчера понадобилось конвертировать дату и время в DateTime при импорте из Excel (использую rubyXL) — а Excel хранит дату/время (сюрприз!) в float. Делаем это так:

def excel_to_datetime(excel_float)
  return DateTime.new(1899, 12, 30) + excel_float
end