0
startTime = DateTime.now
startTime = startTime.change(:min => (startTime.min/5.to_f).ceil * 5)
我們的生產服務器偶爾會產生以下異常
A ArgumentError occurred in controller#action:
invalid date
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/1.8/date.rb:1519:in `civil'
vendor/bundle/ruby/1.8/gems/activesupport-3.0.9/lib/active_support/core_ext/date_time/calculations.rb:37:in `change'
而我只是想不通是什麼原因造成的問題,也沒有重現它在我的開發環境。我做錯了什麼,或者這裏發生了什麼?我想要做的是創建一個DateTime實例,該實例從現在開始四捨五入到最接近的5分鐘。
感謝。我的最終版本成爲 STARTTIME = DateTime.now.change(:秒=> 0); roundedMinutes =(startTime.min/5.0).ceil * 5; startTime =(startTime +(roundedMinutes-startTime.min).minutes); 這增加了「丟失」分鐘的時間(也修正第23天的變化:56-23:59),並設置秒爲0。 –