3.9. Konwersje między obiektami Time i DateTime

Problem

Obiekty Time i DateTime zrealizowane zostały w oparciu o różne standardy i nie można mieszać ich ze sobą w porównaniach, iteracjach oraz operacjach arytmetycznych, bowiem nie są ze sobą zgodne pod tymi względami. Przed wykonaniem tych operacji należy skonwertować wszystkie obiekty Time do obiektów DateTime lub odwrotnie, tak by wszystkie argumenty (operandy) działań były jednego rodzaju.

Rozwiązanie

Konwersję obiektu Time na obiekt DateTime można przeprowadzić w sposób podobny do poniższego:

require 'date' class Time def to_datetime # Konwersja sekund i mikrosekund na ułamki sekund seconds = sec + Rational(usec, 10**6) # Konwersja offsetu strefy czasowej z minut na ułamek dnia ...

Get Ruby. Receptury now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.