ユーザーが過去の時間を選択できないようにするために、ユーザーが開始日と終了日に選択したものを現在の時刻と比較しようとしています。私の場合、検証に合格するために4時間先の時間を選択する必要があることを除いて、それは機能します。
意見:
datetime_select(:start_date, ampm: true)
コントローラ:
if self.start_date < DateTime.now || self.end_date < DateTime.now
errors.add(:date, 'can not be in the past.')
end
self.start_date
現在の時刻を返していますが、utc では間違っています。DateTime.now
現在の時刻を返していますが、オフセットが -0400 で正しいです。
例:
私の現在の時間は 2013-10-03 09:00:00.000000000 -04:00 です
self.start_date は 2013-10-03 09:00:00.000000000 Z です
DateTime.now は 2013-10-03 09:00:00.000000000 -04:00 です
なぜこれが起こっているのですか?それを修正する最善の方法は何ですか?