2011-10-11 57 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