私が持っている場合@time = Time.now.strftime("%Y-%m-%d %H:%M:%S")
、
この時間を 15 分短縮するにはどうすればよいですか?
私はすでにこれを試しました :: @reducetime = @time-15.minutes
、コンソールでは正常に動作しますが、実行中にエラーが発生します。これ以外に、この問題を解決する方法はありますか。
ありがとう
私が持っている場合@time = Time.now.strftime("%Y-%m-%d %H:%M:%S")
、
この時間を 15 分短縮するにはどうすればよいですか?
私はすでにこれを試しました :: @reducetime = @time-15.minutes
、コンソールでは正常に動作しますが、実行中にエラーが発生します。これ以外に、この問題を解決する方法はありますか。
ありがとう
問題は、時間を時間として扱う前に、時間を文字列にフォーマットしていることです。これはもっと理にかなっています:
@time = Time.now
@reducetime = @time - 15.minutes
# And then later when you're reading to display @time...
formatted_time = @time.strftime("%Y-%m-%d %H:%M:%S")
データを表示する準備ができる直前まで、データをフォーマットしないでください。
フォーマットされた時刻が必要な場合は@time
、計算する前に解析する必要があります@reducetime
。
@reducetime = (DateTime.strptime(@time, "%Y-%m-%d %H:%M:%S") - 15.minutes).to_time