Informaci o datumu a čase můžeme ukládat do znakových řetězců, či polí čísel. Ruby má ovšem pro práci s časovými údaji vhodnější nástroje ve formě několika tříd.
Date
DateTime
ParseDate
Time
Odkazy:
Základním objektem, vlastně hlavním, kole kterého se vše točí je třída Time. Objekty této třídy reprezentují časové údaje.
Pro vytváření a plnění objektu třídy Time
slouží metody new
, at
, utc
, gm
, local
a mktime
.
Pro samotnou operaci analýzy řetezců s časovými údaji použijeme knihovnu ParseDate
.
radek@yoda:~: 1 $ irb irb(main):001:0> require 'parsedate' => true ⋮ irb(main):007:0> t = Time.local(*ParseDate.parsedate("2005-06-27 14:25")) => Mon Jun 27 14:25:00 CEST 2005
radek@yoda:~: 0 $ irb irb(main):001:0> require 'parsedate' => true irb(main):002:0> t1 = Time.local(*ParseDate.parsedate("2005-06-28 15:21:07")) => Tue Jun 28 15:21:07 CEST 2005 irb(main):003:0> t2 = Time.local(*ParseDate.parsedate("2005-06-28 15:28:16")) => Tue Jun 28 15:28:16 CEST 2005 irb(main):004:0> t2-t1 => 429.0 irb(main):005:0>
Prezentaci času nám usnaduje řada konverzních metod.
Jedná se o metody převádějící čas na jiné reprezentace/hodnoty to_a, to_f, to_i a to_s.
Dále pak metoda strftime
jenž převádí čas na řetězec podle zadaného formátování.