3.2. Dekodowanie daty, dokładne i przybliżone

Problem

Mając dany łańcuch reprezentujący datę lub datę i czas, chcemy przekształcić go na równoważny obiekt Date. Konwencja (format) zapisu łańcucha nie jest znana a priori.

Rozwiązanie

Najlepiej wykorzystać do tego celu metodę Date.parse lub DateTime.parse. Metody te stosują zaawansowane podejście heurystyczne w celu „odgadnięcia” formatu, w jakim zapisano łańcuch wejściowy, i podejście to bardzo często daje zadowalające rezultaty:

require 'date' Date.parse('2/9/2007').to_s # => "2007-02-09" DateTime.parse('02-09-2007 12:30:44 AM').to_s # => "2007-09-02T00:30:44Z" DateTime.parse('02-09-2007 12:30:44 PM EST').to_s # => "2007-09-02T12:30:44-0500" Date.parse('Wednesday, January 10, 2001').to_s ...

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.