0

这是有问题的方法。

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”

4

1 回答 1

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
于 2012-11-05T17:07:57.853 回答