RoR - Time.strptime问题

时间:2012-11-05 15:09:34

标签: ruby-on-rails ruby ruby-on-rails-3

这是有问题的方法。

def published_at_setter
    self.published_at = Time.strptime("#{@date} #{@time}", "%m/%d/%Y %I:%M %p")
    puts " ~~~~~~~~~~~~~~~~~~~ #{@date} #{@time} ~~~~~~~~~~~~~~~~ #{self.published_at}"
end

@date =“09/11/2012”和@time“01:45 AM”我在webbrick控制台中得到了这个。 WFT?

~~~~~~~~~~~~~~~~~~~ 09/11/2012 01:45 AM ~~~~~~~~~~~~~~~~ 2012-09-11 06:45:00 UTC

在rails控制台中,我得到了预期的结果。 “2012-09-11 01:45:00 -0500”

1 个答案:

答案 0 :(得分:2)

而不是Time.strptime,您应该使用Time.zone.parse

def published_at_setter
    self.published_at = Time.zone.parse("#{@date} #{@time}")
    puts " ~~~~~~~~~~~~~~~~~~~ #{@date} #{@time} ~~~~~~~~~~~~~~~~ #{self.published_at}"
end