0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Heroku × Railsアプリの時間表記を日本時間に合わせる

Posted at

まずはHerokuのタイムゾーン設定を変更

プロジェクトファイルのディレクトリで、以下コマンドを叩きます

heroku config:add TZ=Asia/Tokyo

以下のような記述が出たらok

% heroku config:add TZ=Asia/Tokyo
Setting TZ and restarting ⬢ puffshare... done, v64
TZ: Asia/Tokyo

LANGも変更

heroku config:add LANG=ja_JP.UTF-8

heroku側にSSH

heroku run bash

コンソールで確認してみてその日の日付になってたら完了です!

% heroku console
Running console on ⬢ puffshare... up, run.6216 (Free)
Loading production environment (Rails 6.1.3.1)
irb(main):001:0> Time.now
=> 2021-05-15 14:43:04.20104537 +0900
irb(main):001:0> Date
Sat May 15 14:44:24 JST 2021

うん、JSTになりました!

Rails側の設定をしていく

config/application.rbに追記する

config/application.rb
~(省略)~
module App
  class Application < Rails::Application
   ~(省略)~
    # Don't generate system test files.
    config.generators.system_tests = nil

    #以下を追記
    config.time_zone = "Tokyo"
    config.active_record.default_timezone = :local
  end
end

created_atの後にstrftimeを設定していく

()で指定するのはよしなに。

nantoka.erb
<%= letter.created_at.strftime("%m月%d日%Y年 %H:%M")  %>

こちらの出力だと04月

strftimeに指定できる書式は以下のような感じらしい

書式 返り値 説明
%Y 2019 西暦を4桁の数で取得する※西暦1年は「0001」
%m 01 月を必ず2桁の数字で取得する(01-12)
%-m 1 月を1桁か2桁の数字で取得する(1-12)
%d 01 日付を必ず2桁で取得する(01, 02 ... )
%-d 1 日付を1桁か2桁で取得する(1, 2 ... 10, 11 ...)
%H 12 24時間制の時刻を必ず2桁で取得する(00-23)
%-H 12 24時間制の時刻を1桁か2桁で取得する(0-23)
%I 12 12時間制の時刻を1桁か2桁で取得する(1-12)
%M 00 分を取得する(00-59)
%S 00 秒を取得する(00-60)※60はうるう秒
%A 曜日名
%a 曜日名(短縮形)

参考

Thank you:))

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?