s06068RailsでDBのマイグレーションファイルを作成するとtimeとdatetimeがあります。timeは時刻を持つため項目ですが日付情報を持つことができません。プログラム中からInsertを投げても、”2000年1月1日”として登録されてエラーになりません。5:00′′や”2019/01/01′′を登録しても、”2000/01/01′′になってしまう事例に頭を悩ませていました。修正した部分があるので、下記には、time項目に日付付きデータを登録した場合の挙動を示します。15:40:43">exclusionとtime_resultは「time」でマイグレーションした項目です。8:00で、エラーになっていません。登録データを見てみると、2000/1/1になっています。明確に「時刻だけを持つ」ケースではtimeでマイグレーションしてもよいですが、日付とともに時刻を持つ場合にはdatetimeとする必要があります。下記のように試してみました。マイグレーション時がtime、datetimeであるかを問わず、Rails上の方はActiveSupport::TimeWithZoneとなっているようです。そのためRails上までは「日時」で持っているのかもしれませんが、DBに登録以降、日付が切り捨てられてしまっていると思われます。見直し後もtimeでよさそうな項目はあったので、登録処理部分のサンプルとして残しておきます。