前提・実現したいこと
以下の2つの機能について、海外にいるユーザーも各々のタイムゾーンに応じて時間が表示されるようにしたいです。
- メッセージ機能における、送信日時の表示(
created_at
やupdated_at
に関して)。 - ユーザーがイベント日時を作成出来る機能があり、その日時の表示(
time
型等に関して)。
1に関してはapplication.rb
で以下の様に定義していますので、ローカル環境では日本時間で表示されています。しかし海外のユーザーにはどの様に表示されるのかが分からず、そこを対策したいです。
application.rb
rails
1module Hoge 2 class Application < Rails::Application 3 config.time_zone = 'Asia/Tokyo' 4 end 5end
room_show.html.erb
rails
1 <% @another_entries.each do |e| %> <!-- 各メッセージルームの情報を一つずつ取得。--> 2 <div class="message-datetime"> 3 <% message_time = Message.find_by(id: e.room.message_ids.last).try(:updated_at) %> <!-- 最新メッセージの日付。--> 4 <div class="message-date"><%= message_time&.strftime("%Y.%m.%d") %></div> <!-- 最新メッセージの日付。--> 5 <div class="message-time"><%= message_time&.strftime("%H:%M") %></div> <!-- 最新メッセージの時間。--> 6 </div> 7 <% end %>
2に関してはtime
型やdatetime
型等を使っており、こちらも海外だとどのような表示になるのか気になります。もし日本で作成した日付がそのまま表示されてしまうのであれば、タイムゾーンに応じて変換させるよう対策をしたいです。
post_show.html.erb
rails
1 <%= @post.date.strftime("%b %d (%a), %Y") %> <!-- イベントの日付。--> 2 <%= @post.time.strftime("%I:%M%p") %>- <!-- イベント開始時間。--> 3 <%= @post.closing_time.strftime("%I:%M%p") %> <!-- イベント終了時間。-->
補足情報(FW/ツールのバージョンなど)
ruby 2.6.4p104
RubyGems 3.0.3
Rails 5.2.3
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。