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

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

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

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

Ruby on Rails

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

Q&A

解決済

1回答

428閲覧

タイムゾーンの設定はどのようにするべきか

pyon_kiti_jp

総合スコア249

Ruby on Rails 5

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

Ruby on Rails

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

0グッド

0クリップ

投稿2022/09/27 01:43

編集2022/09/27 11:37

前提

Rails 5.2

内容

config/application.rbで次のように設定して、Time.currentからJST(日本標準時間)を取得することが多いかと思います。
本番サーバーでこの設定で運用した場合、日本以外の国でWebアプリを動作させると、現地の時間ではなく、JSTが表示されてしまうということでしょうか。

例えば、アメリカではアメリカの現地時間で表示させたい場合は、Time.currentを使わずに、OS(サーバー)のシステム日付を直接取得する、Rubyのメソッド(Time.nowなど)を利用するべきという考えで問題ないでしょうか。

config.time_zone = 'Tokyo'

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

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

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

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

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

m.ts10806

2022/09/27 01:57

仰っている「OS」とはWebサーバの話ですか?ユーザのクライアントの話ですか?
pyon_kiti_jp

2022/09/27 02:03

サーバーのことです。アプリケーションサーバーです。
guest

回答1

0

ベストアンサー

例えば、アメリカではアメリカの現地時間で表示させたい場合は、Time.currentを使わずに、OSのシステム日付を直接取得する、Rubyのメソッド(Time.nowなど)を利用するべきという考えで問題ないでしょうか。

問題しかありません。

アクセスがアメリカからだろうが日本からだろうが、同じサーバへのアクセスになりますので、当然ながらサーバのタイムゾーンもRailsの設定も何もかも共通です。

ユーザーに手動設定させるなど、アプリケーションレベルで何かしら切り分けるためのデータを用意して、それで日時を換算する必要があります。

投稿2022/09/27 01:50

編集2022/09/27 01:53
maisumakun

総合スコア145023

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

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

pyon_kiti_jp

2022/09/27 02:08

config.time_zone = 'Tokyo'にして、サーバーのタイムゾーンをJSTにしておけば、Time.currentを使っても、Time.nowを使っても、結果的には同じということでよろしいでしょうか。
pyon_kiti_jp

2022/09/27 02:13

config.time_zone = 'Tokyo'はサーバーが日本にあることが前提であるため、リージョンが海外にある場合は、、config.time_zone の設定を、リージョンがある場所の時間に合わせるという考えでよろしいでしょうか。
maisumakun

2022/09/27 02:28

> config.time_zone = 'Tokyo'はサーバーが日本にあることが前提であるため、リージョンが海外にある場合は、、config.time_zone の設定を、リージョンがある場所の時間に合わせるという考えでよろしいでしょうか。 いえ、サーバの設置位置とサーバ内のタイムゾーン設定を揃える必要もありません。日本向けにWebサイトを提供するサーバを海外に置く場合も、タイムゾーン設定をJSTで統一して構いません。
pyon_kiti_jp

2022/09/27 02:37

分かりました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.53%

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

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

質問する

関連した質問