显示持续时间(以分钟为单位)到小时

Show duration (in minutes) to hours

我想显示电影的时长。现在 movie.duration 显示在 minutes(整数)

%b Duration: #{ @movie.duration } # 134 mins

rails 是否有时间助手以更易于阅读的方式显示它?像这样:

Duration: 2h 23min

distance_of_time_in_words 可能对你有帮助。

你可以这样使用它:

distance_of_time_in_words(0, 143.minutes)
# => "about 2 hours"

要使用整数/浮点数,您需要手动转换为秒数:

distance_of_time_in_words(0, 143 * 60)

你也可以这样计算:

"#{@movie.duration/60}h #{@movie.duration % 60}min"

除法给出小时数,模数给出分钟数。


最后,对于您问题中指定的格式,有一个要点可用于代码 here

尝试关注

def formatted_duration(total_minute)
  hours = total_minute / 60
  minutes = (total_minute) % 60
  "#{ hours }h #{ minutes }min"
end