我有一个Time对象,其中包含“05:37”之类的分钟和秒。我想知道一种方法将其转换为下面的合成词:“5分37秒”。在轨道中更改时间formate
回答
没关系了它:
[(total_response_time.to_i/counter_for_response_time.to_i)/60 % 60, (total_response_time.to_i/counter_for_response_time.to_i) % 60].map { |t| t.to_s.rjust(2,'0') }.join('m ')
对于谁想把它转换成这样在未来的任何人。
这与您的问题不同。什么是total_response_time,counter_response_time? – tomsoft 2014-10-03 12:25:47
和实现它的更简洁的方法: (total_response_time.to_i/counter_for_response_time.to_i).tap {| t | s =“#{t/60} m#{t%60} s”} puts s – tomsoft 2014-10-03 12:30:36
这看起来不是一个很好的方法来做任何事情**,它看起来很混乱和复杂。如果你有一个Time对象,那么就像人们所说的那样使用strftime。 – 2014-10-03 12:32:15
如果我们谈论的时间目标,这很容易:
t=Time.now
puts "#{t.min}m #{t.sec}s"
=>15m 28s
如果你有一个字符串
s="05:37"
t=s.split(':').map{|i| i.to_i}
puts "#{t.first}m #{t.last}s"
=>5m 37s
或更短
s.split(':').map{|i| i.to_i}.join("m ")+"s"
虽然我同意意见建议strftime
,你也可以只使用gsub
:
"05:37".gsub(/(\d+):(\d+)/, '\1m \2s')
#=> "05m 37s"
如果你不想要前导零,很容易摆脱。
[your_time_object].strftime('%Mm %Ss').
如需进一步详细情况,请this
- 1. 更改轨道中的第一天
- 2. 更改Heroku的日期和时间(红宝石在轨道上)服务器
- 3. 如何在轨道上计算时间
- 4. 设置本地时间在轨道上
- 5. 更改选择元素更改表单的内容时的轨道
- 6. 如何检查关联更改在轨道中使用mongodb
- 7. 如何检查时间重叠轨道
- 8. 轨道上更新
- 9. 在python中构建带有轨道和时间轴的前端
- 10. 在轨道中加载网页的额外时间是什么?
- 11. 如何在Xamarin中使用MediaPlayer的轨道持续时间
- 12. 时间区验证轨道4,5:时区不包括在名单
- 13. 设置轨道中令牌的超时时间
- 14. 如何改变轨道response.message
- 15. 基于我的轨道详细信息的轨道距离和时间
- 16. 如何知道Froyo中配置更改发生的时间?
- 17. 如何将服务器时间更改为导轨上的客户端时间?
- 18. 如何在帖子后更改轨道控制器的视图?
- 19. 更改帖子/:在轨道ID显示帖子/:restname
- 20. 如何自定义或更改轨道中的路径路径?
- 21. 我如何更改轨道中的复选框?
- 22. 3维空间中的轨道倾角
- 23. 如何更新轨道
- 24. 变更轨道从助手
- 25. Autodestroy关于变更轨道
- 26. 轨道更新记录
- 27. 更改时间格式在Javascript中
- 28. 在轨道3
- 29. 在轨道上
- 30. 在轨道上
我不知道的Ruby-on-轨,但你应该使用正则表达式这一点。 – Jerodev 2014-10-03 12:09:47
['DateTime#strftime'](http://apidock.com/ruby/DateTime/strftime) – 2014-10-03 12:14:00