如何将字符串形式的Date转换为ActiveSupport :: TimeWithZone?

时间:2010-06-22 18:41:02

标签: ruby-on-rails twitter

我正在尝试创建一个包含Twitter数据+我的应用程序的流,但我无法对它们进行排序,因为它们的时间戳以不同的方式格式化。这是我的代码:

answers = Answer.find(:all, :conditions => {:user_id => @user_id }, :limit => 20)
tweets = Twitter::Search.new(params[:username]).to_a

@feed = (answers + tweets).sort_by(&:created_at)

these are the formats on time:

<#Hashie::Mash created_at="Tue, 22 Jun 2010 04:41:23 +0000"...
<Answer id:... created_at: "2010-06-15 02:13:40"

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

我不知道这是不是最好的方法,但试试这个:

@feed = (answers + tweets).sort_by{ |x| DateTime.parse("#{x.created_at}") }

修改

反向:

@feed = (answers + tweets).sort{ |x, y| DateTime.parse("#{y.created_at}") <=> DateTime.parse("#{x.created_at}") }