我有一個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. SQL更新軌道更改
- 2. 更改軌道中的第一天
- 3. 在Heroku更改地區軌道在運行時
- 4. 更改Heroku的日期和時間(紅寶石在軌道上)服務器
- 5. 如何在軌道上計算時間
- 6. 設置本地時間在軌道上
- 7. 更改複選框以更改在軌道數據庫?
- 8. 如何更新MPNowPlayingInfoCenter在後臺和AVQueuePlayer中的軌道更改
- 9. 無法在導軌中更改自定義時間戳字段
- 10. 更改軌道上的URL參數
- 11. Android ExoPlayer更改所選軌道
- 12. 我想在軌道上更改ruby中的日期結構。我只是想用改變它的運行時間
- 13. Rails 3中 - 更「軌道」
- 14. 更改選擇元素更改表單的內容時的軌道
- 15. 如何檢查關聯更改在軌道中使用mongodb
- 16. 如何檢查時間重疊軌道
- 17. 軌道4 - 根據時間/日期
- 18. 轉換軌道時間助手
- 19. 軌道上更新
- 20. 在python中構建帶有軌道和時間軸的前端
- 21. 在軌道中加載網頁的額外時間是什麼?
- 22. 在軌道中使用和比較相對時間
- 23. 如何在Xamarin中使用MediaPlayer的軌道持續時間
- 24. 何時在軌道中使用|| =?
- 25. 設置軌道中令牌的超時時間
- 26. 時間區驗證軌道4,5:時區不包括在名單
- 27. 如何改變軌道response.message
- 28. Jplayer沒有改變軌道
- 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