为什么这个Time.parse失败了

时间:2010-09-11 18:00:00

标签: ruby-on-rails ruby

>> events.first.datetime
=> Wed Sep 15 19:00:00 -0400 2010
>> Time.parse(events.first.datetime)
NoMethodError: private method `gsub!' called for Wed Sep 15 19:00:00 -0400 2010:Time

1 个答案:

答案 0 :(得分:7)

Time#parseTime创建一个String对象,它作为第一个参数。您已有Time个对象,因此Time.parse不知道如何处理它。

要按照您的需要设置日期格式,请查看Time#strftime。您可以使用格式字符串格式化它:

events.first.datetime.strftime("%A %B %d, %Y at %I:%M %p")

查看其他格式说明符的strftime手册条目。