回答:
使用する
Time.now + 10.days
あるいは
10.days.from_now
どちらも間違いなく機能します。RubyだけでなくRailsを使用しているのですか?
あなたが間違いなくRailsにいる場合、どこから実行しようとしていますか?アクティブサポートをロードする必要があることに注意してください。
Time.now + 10.days常にシステムのタイムゾーンを取得します10.days.from_nowが、rails configに何も設定されていない場合はUTCタイムゾーンを取得します。
Time.zone.now代わりに使用するのが最適ですTime.now。
days、yearsなどはアクティブサポートの一部であるため、では機能しませんがirb、では機能するはずrails consoleです。
require 'active_support/time'は、セッションの最初またはコマンドを使用する前に
参考のために、他のいくつかのオプション
-10.days.ago
# Available in Rails 4
DateTime.now.days_ago(-10)
私が知っているすべてのオプションをリストしてください:
[1] Time.now + 10.days
[2] 10.days.from_now
[3] -10.days.ago
[4] DateTime.now.days_ago(-10)
[5] Date.today + 10
さて、タイムゾーンを気にする場合、それらの違いは何ですか?
[1, 4] システムタイムゾーンあり[2, 3] Railsアプリの設定タイムゾーン[5] 結果に含まれる時刻のみの日付