0

私が持っている場合@time = Time.now.strftime("%Y-%m-%d %H:%M:%S")

この時間を 15 分短縮するにはどうすればよいですか?

私はすでにこれを試しました :: @reducetime = @time-15.minutes、コンソールでは正常に動作しますが、実行中にエラーが発生します。これ以外に、この問題を解決する方法はありますか。

ありがとう

4

1 に答える 1

3

問題は、時間を時間として扱う前に、時間を文字列にフォーマットしていることです。これはもっと理にかなっています:

@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
于 2011-05-24T07:51:01.250 に答える