我正在尝试从我的RoR项目中格式化我的日期,尽管有真正的问题了解它是如何工作的。在php中,这是一个简单的日期(“格式”,时间())
如果我只调用我正在获取的数据库中存储的标准时间
2012-08-12 22:25:00 +1000
我正在尝试调用日期格式event_time和event_date
Time::DATE_FORMATS[:month_and_year] = "%B %Y"
Time::DATE_FORMATS[:event_time] = "%l:%M %p"
Time::DATE_FORMATS[:event_date] = "%a, %e %b, %Y"
我目前正试图将其称为
= schedule.time.to_s(:event_time)
我遇到的问题是我收到以下错误:
错误的参数数量(1表示0)
答案 0 :(得分:4)
如果您需要使用此日期格式的数据,您可以使用strftime或esle您的方法也很好
您添加的代码非常适合我
pritesh@cloudy-pritesh:~/railsdemo$ rails c
Loading development environment (Rails 3.2.6)
1.9.3p194 :001 > Date.today.to_s(:event_time)
=> "2012-08-13"
1.9.3p194 :002 > Time::DATE_FORMATS[:month_and_year] = "%B %Y"
=> "%B %Y"
1.9.3p194 :003 > Time::DATE_FORMATS[:event_time] = "%l:%M %p"
=> "%l:%M %p"
1.9.3p194 :004 > Time::DATE_FORMATS[:event_date] = "%a, %e %b, %Y"
=> "%a, %e %b, %Y"
1.9.3p194 :005 > Time.now.to_s(:event_time)
=> "11:13 AM"
您也可以使用Time.now.strftime("%B %Y")
我的最后一次猜测,可能是你正在循环记录并且在记录中有一个记录,其中有一个时间值为零的记录
答案 1 :(得分:2)
使用strftime
Time.now.strftime("%B %Y") #August 2012
然后使用类似下面的内容
Time.now.strftime(Time::DATE_FORMATS[:month_and_year])
答案 2 :(得分:0)
简单,
schedule.time.strftime(Time::DATE_FORMATS[:format_type]) #August 2012
请参阅http://apidock.com/ruby/Time/strftime以获取详细用途。