2011-10-11 41 views
1

我對ruby完全陌生,我試圖格式化從Twitter gem拉入的created_at字段。我知道在rails中可以使用time_ago_in_words作爲rails,但我想知道如何以簡單的ruby來做到這一點。事實上,我想知道如何格式化一個日期,以這種格式開始「星期一,10月10日20:13:10 +0000」。這是標準日期格式嗎?如何使用Sinatra和Twitter格式化ruby日期時間Gem

任何幫助將是輝煌的。

回答

2

如果你使用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 ,最好的出發點可能是檢查出its source(點擊該頁面上的查看源代碼鏈接)。

+0

非常好,謝謝你解釋得那麼確切。 – yoamomonstruos