首页 > 解决方案 > 未定义方法 `strftime' for "{1=>2019, 2=>7, 3=>7, 4=>16, 5=>0}":String 你的意思是?跳闸

问题描述

我试图以一种很好的方式输出时间。这是我的新代码

<%= form_for @reservation do |f| %>
   <span><label>Pick up time</label></span>
     <%= f.time_select :time,ampm: true, class: "textbox"%></span>
<% end %>

这是在输出文件中

<strong>Pick up Time:</strong> <%= @reservation.time.strftime("%H:%M")  %>

我得到这个错误 undefined method `strftime' for "{1=>2019, 2=>7, 3=>7, 4=>16, 5=>0}":String 你的意思是?跳闸

请有人帮我解决这个问题

标签: htmlruby-on-railsformsstrftime

解决方案


如果您只想使用此哈希,则需要将其解析为日期时间,如下所示

a = {1=>2019, 2=>7, 3=>7, 4=>16, 5=>0}
time = (a.values.first(3).join("/") + " "+ a.values.last(2).join(":")).to_datetime.strftime("%I:%M %p")

解析为日期和时间后,您可以执行任何日期时间方法。


推荐阅读