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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.