'T'被添加到我的日期时间Ruby和;拯救

时间:2013-06-17 00:02:47

标签: ruby redis resque

由于某些原因,当我将日期时间传递给另一个使用Resque.enqueue的类时,我在日期之后有空格并且其他空格被删除时添加了“T”...

这是方法:

def self.enqueue_job(start_date, end_date, type, date_type)
    query = [start_date, end_date, type, date_type].join(',')
    begin
        Resque.enqueue(Reports::Generator, start_date, end_date, type, date_type)
        add_to_queue(query)
    rescue Resque::TermException
        Resque.enqueue(Reports::Generator, start_date, end_date, type, date_type)
    end
  end

将查询变量设置为:

“2013-05-31 07:59:59 -0700,2013-06-05 07:59:59 -0700,无,created_at”

但是当我跑步时

@query = [start_date, end_date, type, date_type].join(',')

从上面的Generator模型中,@ query等同于:

“2013-05-31T07:59:59-07:00,2013-06-05T07:59:59-07:00,无,created_at”

我猜它与Resque.enqueue有关,但不明白。

1 个答案:

答案 0 :(得分:1)

我解决了。问题在于时间和日期时间的转换。我在传入Generator类之前将值设置为Time,并将其转换为DateTime。

以下是帮助我得出这个结论的帖子: Weird Ruby Behavior in DateTime to Time conversion