Stamp — форматирование даты и времени по-человечески
июля 7, 2011 | Published in Ruby, Ruby Gems | 2 Comments
— совсем молодой и совсем простой и маленький 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 — Джереми Вейскоттена.
июля 7, 2011 at 11:11 (#)
для себя, в данном геме, увидел только вот такую интересную возможность:
т.е. формат даты по образцу.
Будем надеяться что автор гема будет развивать его, если что, поможем.
июля 8, 2011 at 21:33 (#)
Спасибо за комментарий, Дмитрий. Я, кстати, получил ваше сообщение из Google+, но не смог на него ответить в связи с отсутствием регистрации в Google+.