3.8. Czas letni

Problem

Chcemy sprawdzić, czy lokalny moment czasu wypada w okresie czasu letniego, czy też poza nim.

Rozwiązanie

Utwórz obiekt Time reprezentujący wspomniany moment i sprawdź wartość zwracaną przez jego metodę isdst.

Time.local(2006, 1, 1)
# => Sun Jan 01 00:00:00 Europa Środkowa (czas stand.) 2006
Time.local(2006, 1, 1).isdst            # => false

Time.local(2006, 10, 1)
# => Oct 01 00:00:00 Europa Środkowa (czas stand.) 2006
Time.local(2006, 10, 1).isdst           # => true

Dyskusja

Obiekt reprezentujący czas UTC zawsze będzie zwracał wartość false jako wynik metody isdst, ponieważ czas UTC jest jednolity w skali całego roku. W przypadku innych obiektów Time wartość zwracana przez metodę isdst zależna jest zarówno od bieżącego ...

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.