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.