質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

1回答

7390閲覧

RailsでDB登録時にtimezoneがUTCになってしまう

nino_611

総合スコア8

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2016/06/27 09:11

編集2022/01/12 10:55

AWS上にRails4でアプリを作っているのですが、DB登録時にtimezoneがUTCになってしまう現象が発生しております。

いろいろなサイトを巡回し、confing/application.rbに

config.time_zone = 'Tokyo' config.active_record.default_timezone = :local

という指定を入れており、

$ rails c pry(main)> MyApp::Application.config.active_record.default_timezone => :local pry(main)> ActiveRecord::Base.default_timezone => :local

という状態になっているのですが、DB(RDS)をのぞいてみると、created_atなどの値は
9時間前の値が設定されているという結果に。。

ちなみに、DBのtimezone設定は、time_zoneのみ変更しており、

mysql> show variables like '%time_zone%'; +------------------------+----------------+ | Variable_name | Value | +------------------------+----------------+ | system_time_zone | UTC | | time_zone | Asia/Tokyo | +------------------------+----------------+

といった状態となっております。

Railsの設定に問題があるのか、AWSで何か設定が必要なのか、原因の切り分けがまだできていないのですが、
どなたかご存知ある方がいらっしゃいましたら(もしくは同様の問題に直面/解決された方がおられましたら)、ご助言いただけますと大変ありがたいです。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

データベースと,railsの設定のタイムゾーンはJSTになっているので,サーバーのタイムゾーンがUTC担っている可能性が高いです.

config.active_record.default_timezone = :local

は,サーバーのタイムゾーンを利用しているので,

CentOS であれば,

$ sudo timedatectl set-timezone Asia/Tokyo

Ubuntu であれば,

$ sudo timedatectl set-timezone Asia/Tokyo

で変更できます

投稿2016/06/29 09:24

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nino_611

2016/06/29 15:14

ご回答ありがとうございます! サーバはAmazonのLinuxを使用しておりますので、以下のサイトを参考にサーバのタイムゾーンを変更しました。 【Linux インスタンスの時刻の設定】 http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/set-time.html その結果、 ``` $ date 2016年 6月 30日 木曜日 00:12:04 JST $ strings /etc/localtime TZif2 JCST TZif2 JCST JST-9 ``` となり、サーバのタイムゾーンはJSTに変更されたようなのですが、まだcreated_atは9時間前のままでした。。 サーバのタイムゾーンの他に、怪しそうな部分などございますでしょうか・・?
退会済みユーザー

退会済みユーザー

2016/06/29 16:29

一度,UTCで記録されたレコードはUTCのままかもしれません.新しいデータを作成してみて,それでもUTCなら他に問題がある可能性が高いです.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問