d = DateTime.new(2016, 12, 30, 23, 0) post = Post.new post.datetime = d
Postというモデルにdatetimeというスキーマがあるとします。DateTimeを作成してやり、postのdatetimeにだいにゅうしています。
DateTime.newの時点でdは
2016-12-30T23:00:00+00:00
となっていますが、post.datetime = dとした時の post.datetimeは
2016-12-31 08:00:00 +0900
となってしまいます。
なぜか9時間進んでいます。
サーバのTimeZoneはAsia/Tokyoです。Rails上のTimeZoneはconfig/applicaton.rbでTokyoとしています。
あと、activerecordのTimeZoneもconfig/application.rbで
ActiveRecord::Base.default_timezone = :localという風に設定しています。
config設定後、Railsサーバも再起動していますが、変化ありません。
migrationファイルは以下のとおりです
class CreatePosts < ActiveRecord::Migration def change create_table :posts do |t| t.datetime :datetime t.timestamps null: false end end end
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/12/31 05:04