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

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

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

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

Q&A

解決済

1回答

1655閲覧

Time.zoneからタイムゾーン文字列の取得

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby on Rails

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

0グッド

0クリップ

投稿2018/09/25 09:35

編集2018/09/25 10:15

###やりたいこと

ユーザ設定にタイムゾーンを追加してユーザごとに入力/表示される時刻をタイムゾーンによって切り替えたい

###ためしたこと

Time.use_zone(current_user.time_zone) { yield }
を使うとブロック内の Time.zone を切り替えることができて
Rails でかかれた部分は切り替えることができたのですが
javascript でかかれてる部分の時刻がかわりません

https://teratail.com/questions/148364
で質問した結果デフォルトの時刻を扱う Date はブラウザのタイムゾーンをみているようで
moment というライブラリを使って setDefault() にタイムゾーン名をわたせば
javascript の扱うタイムゾーンも切り替わるみたいなのですが
その文字列が
https://api.rubyonrails.org/classes/ActiveSupport/TimeZone.html
にある 地域/都市名 という形式でないとだめみたいです

なので現在のタイムゾーン Time.zone からその文字列を取得したいのです

console.log('<%= Time.zone %>');
=> (GMT-10:00) Hawaii

console.log('<%= Time.zone.name %>');
=> Hawaii

console.log('<%= Time.zone.tzinfo %>');
=> Pacific - Honolulu

console.log('<%= Time.zone.utc_offset %>');
=> 36000

といろいろためしたのですが
Pacific/Honolulu
というう文字列を取り出すにはどうすればいいのでしょうか

マニュアルの調べ方もよくわからなくて困っています

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

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

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

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

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

guest

回答1

0

ベストアンサー

console.log('<%= Time.zone.tzinfo.identifier %>');

で、どうでしょうか?

投稿2018/09/25 11:48

asm

総合スコア15147

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

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

退会済みユーザー

退会済みユーザー

2018/09/26 01:31

わー 取り出せました! moment.js に渡しても認識されました 本当にありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問