Как отформатировать дату и время в ruby ​​с помощью Sinatra и Twitter Gem - PullRequest
1 голос
/ 11 октября 2011

Я совершенно новичок в ruby ​​и пытаюсь отформатировать поле созданного_катушки, извлеченное из драгоценного камня Twitter. Я знаю, что в рельсах вы можете использовать time_ago_in_words для рельсов, но мне было интересно, как вы можете сделать это в обычном рубине. На самом деле мне интересно, как вы можете отформатировать дату в этом формате, чтобы начать с «Пн, 10 октября 2011 20:13:10 +0000». Это стандартный формат даты?

Любая помощь была бы блестящей.

1 Ответ

2 голосов
/ 11 октября 2011

Если вы используете Ruby 1.9, Time.parse прекрасно понимает ваш формат:

ruby-1.9.2-p180 :003 > t = Time.parse("Mon, 10 Oct 2011 20:13:10 +0000")
 => 2011-10-10 23:13:10 +0300 
ruby-1.9.2-p180 :004 > t.month
 => 10 
ruby-1.9.2-p180 :005 > t.strftime("%d-%m-%Y")
 => "10-10-2011" 

В 1.8, DateTime имеет аналогичный метод:

irb(main):004:0> require 'date'
=> true
irb(main):006:0> t = DateTime.parse("Mon, 10 Oct 2011 20:13:10 +0000")
=> #<DateTime: 2011-10-10T20:13:10+00:00 (21218503759/8640,0/1,2299161)>
irb(main):007:0> t.month
=> 10

Если вы хотите самостоятельно реализовать distance_of_time_in_words, лучше всего начать с проверки его источника (щелкните ссылку на источник просмотра на этой странице).

...