— совсем молодой и совсем простой и маленький gem, который позволяет в очень удобный способ форматировать дату и время.
Устанавливается Stamp абсолютно так же, как и остальные gem’ы:
$ gem install stamp
Как что работает?
Stamp добавляет в экземпляры Date и Time классов могущественный метод #stamp, который принимает шаблон в соответствии с которым производит форматирование. Чтобы поиграться — запустим сеанс irb:
$ irb
require 'stamp' #=> true
date = Date.today
#=> #<Date: 2011-07-07 (4911499/2,0,2299161)>
date.stamp("Now: 2000/01/01")
#=> "Now: 2011/07/07"
date.stamp("%Y,%m,%d")
#=> "2011,07,07"
date.stamp("1 April, 1873 year")
#=> " 7 July, 2011 year"
То же актуально и для экземпляров Time:
time = Time.now
#=> 2011-07-07 14:02:28 +0300
ruby-1.9.2-p180 :019 > time.stamp("%H:%M:%S")
#=> "14:02:28"
ruby-1.9.2-p180 :024 > time.stamp("23:34")
#=> "14:02"
ruby-1.9.2-p180 :025 > time.stamp("23:34:12")
#=> "14:02:28"
Признаться честно, stamp не всегда работает так, как хочется, примеры:
date.stamp("1-1-2003")
#=> " 7- 7-2011" - ненужный пробел!
date = Date.new(2011,12,3)
#=> #<Date: 2011-12-03 (4911797/2,0,2299161)>
date.stamp("%d/%Y/%m")
#=> "03/2011/12"
ruby-1.9.2-p180 :030 > date.stamp("12/12/11")
#=> "12/12/03" - куда делся 11 год и почему дата отформатирована именно так?
Что я думаю
Stamp — полезный инструмент, который уже можно использовать для, так сказать, простого, стандартного форматирования, однако для извращений вроде %d%Y%m он не подходит, разве что используя спецсимволы форматирования, но тогда, какой смысл использовать stamp? Будем надеяться, что автор не забросит проект и будет его развивать и в скором времени мы увидим реально мощный инструмент форматирования даты и времени в любойформат, какой только может придуматься воспаленным мозгом (хотя, зачем?). Также важным для нас — русско-/украинско-/белорусско- говорящих фактором является то, что отсутствуют наши, родные названия месяцов, хотя это и не сложно допилить в каком-нить stamp-for-SNG форке =).
Линкусики:
GitHub repo:
— онлайн форматер даты и времени (можно подсматреть спецсимволы форматирования), который принадлежит тому же Джереми Вeйскоттену, который создал gem Stamp.
автора Stamp — Джереми Вейскоттена.