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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Ruby on Rails

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

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

サービス

サービスとはバックグラウンド上に常駐し、長時間稼動し続ける実行可能ファイルを指します。

Q&A

2回答

2544閲覧

created_atの時間の表示を直したい

HARUPONdesu

総合スコア14

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Ruby on Rails

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

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

サービス

サービスとはバックグラウンド上に常駐し、長時間稼動し続ける実行可能ファイルを指します。

0グッド

0クリップ

投稿2020/05/06 09:39

編集2020/05/11 01:43

前提・実現したいこと

今twitterのようなサービスを作ってます。
投稿詳細画面で、created_atを使い、時間を表示してます。
ですが、もともとUTCで表示され、日本時間ー9時間で表示されました。
例えば、日本時間で12:00に投稿した場合、3:00と表示されるということです。

そこで自分でいろいろ調べてあらゆることをしたら、いつの間にか表示方法が変わり、UTC+9:00と表示されました。
例えば日本時間12:00に投稿した場合、3:00+9:00と、+9:00が計算されないまま表示されるということです。

このままだといざサービスをオープンにしたときにわかりにくいので,、あるソースコードをja.ymlに追加しました。
すると日本時間+9:00と表示されました。
例えば日本時間12:00に投稿した場合、12:00+9:00と表示されるということです。
イメージ説明
この写真は、日本時間10:06:19に投稿したやつです。

長々と説明しましたが、ようは+9:00を取り除いて、そのまま日本時間を表示したいということです。

どうか解決よろしくお願いいたします。

該当のソースコード

ja.yml

ja: date: abbr_day_names: - 日 - 月 - 火 - 水 - 木 - 金 - 土 abbr_month_names: - - 1月 - 2月 - 3月 - 4月 - 5月 - 6月 - 7月 - 8月 - 9月 - 10月 - 11月 - 12月 day_names: - 日曜日 - 月曜日 - 火曜日 - 水曜日 - 木曜日 - 金曜日 - 土曜日 formats: default: ! '%Y/%m/%d' long: ! '%Y年%m月%d日(%a)' short: ! '%m/%d' month_names: - - 1月 - 2月 - 3月 - 4月 - 5月 - 6月 - 7月 - 8月 - 9月 - 10月 - 11月 - 12月 order: - :year - :month - :day datetime: distance_in_words: about_x_hours: one: 約1時間 other: 約%{count}時間 about_x_months: one: 約1ヶ月 other: 約%{count}ヶ月 about_x_years: one: 約1年 other: 約%{count}年 almost_x_years: one: 1年弱 other: ! '%{count}年弱' half_a_minute: 30秒前後 less_than_x_minutes: one: 1分以内 other: ! '%{count}分未満' less_than_x_seconds: one: 1秒以内 other: ! '%{count}秒未満' over_x_years: one: 1年以上 other: ! '%{count}年以上' x_days: one: 1日 other: ! '%{count}日' x_minutes: one: 1分 other: ! '%{count}分' x_months: one: 1ヶ月 other: ! '%{count}ヶ月' x_seconds: one: 1秒 other: ! '%{count}秒' prompts: day: 日 hour: 時 minute: 分 month: 月 second: 秒 year: 年 errors: format: ! '%{attribute}%{message}' messages: accepted: を受諾してください。 blank: を入力してください present: は入力しないでください。 confirmation: と%{attribute}の入力が一致しません。 empty: を入力してください。 equal_to: は%{count}にしてください。 even: は偶数にしてください。 exclusion: は予約されています。 greater_than: は%{count}より大きい値にしてください。 greater_than_or_equal_to: は%{count}以上の値にしてください。 inclusion: は選択肢にありません invalid: は不正な値です less_than: は%{count}より小さい値にしてください。 less_than_or_equal_to: は%{count}以下の値にしてください。 not_a_number: は数値で入力してください。 not_an_integer: は整数で入力してください。 odd: は奇数にしてください。 record_invalid: バリデーションに失敗しました。 %{errors} restrict_dependent_destroy: ! '%{record}が存在しているので削除できません。' taken: はすでに存在します。 too_long: は%{count}文字以内で入力してください。 too_short: は%{count}文字以上で入力してください。 wrong_length: は%{count}文字で入力してください。 other_than: "は%{count}以外の値にしてください。" template: body: 次の項目を確認してください。 header: one: ! '%{model}にエラーが発生しました。' other: ! '%{model}に%{count}個のエラーが発生しました。' helpers: select: prompt: 選択してください。 submit: create: 登録する submit: 保存する update: 更新する number: currency: format: delimiter: ! ',' format: ! '%n%u' precision: 0 separator: . significant: false strip_insignificant_zeros: false unit: 円 format: delimiter: ! ',' precision: 3 separator: . significant: false strip_insignificant_zeros: false human: decimal_units: format: ! '%n %u' units: billion: 十億 million: 百万 quadrillion: 千兆 thousand: 千 trillion: 兆 unit: '' format: delimiter: '' precision: 3 significant: true strip_insignificant_zeros: true storage_units: format: ! '%n%u' units: byte: バイト gb: ギガバイト kb: キロバイト mb: メガバイト tb: テラバイト percentage: format: delimiter: '' format: "%n%" precision: format: delimiter: '' support: array: last_word_connector: と two_words_connector: と words_connector: と time: am: 午前 formats: default: ! '%Y/%m/%d %H:%M:%S' long: ! '%Y年%m月%d日(%a) %H時%M分%S秒 %z' short: ! '%y/%m/%d %H:%M' pm: 午後

application.rb

require_relative 'boot' require "rails" require 'active_storage/engine' # Pick the frameworks you want: require "active_model/railtie" require "active_job/railtie" require "active_record/railtie" require "action_controller/railtie" require "action_mailer/railtie" require "action_view/railtie" # require "action_cable/engine" require "sprockets/railtie" # require "rails/test_unit/railtie" # Require the gems listed in Gemfile, including any gems # you've limited to :test, :development, or :production. Bundler.require(*Rails.groups) module TweetBook class Application < Rails::Application # Initialize configuration defaults for originally generated Rails version. config.action_dispatch.default_headers.delete 'X-Frame-Options' # Application configuration can go into files in config/initializers # -- all .rb files in that directory are automatically loaded after loading config.time_zone = 'Tokyo' config.i18n.default_locale = :ja end end

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

windows10

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

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

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

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

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

guest

回答2

0

まずは、

2020-04-30 10:06:19 +0900

という書式で表示している部分のコードを探しましょう。
その書式指定は、お書きのja.ymlには無いので、ja.ymlは無関係です。

見つけたら、そのコードを書いてください。

投稿2020/05/10 13:00

otn

総合スコア84531

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

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

HARUPONdesu

2020/05/10 13:05

おそらくなんですが、もともとJSTに変えるために検索しながら色々模索している時に、コマンドでJSTからUTCに変更する何かを打ったのが原因だと思います。 別に作った正常に動いてるサービスと基本的なコードは変わらないので
otn

2020/05/10 13:19

「2020-04-30 10:06:19 +0900」という表示を「2020-04-30 10:06:19」に変えたいと言うことなら、それは違います。単純に、表示する部分のコードの話です。 「2020-04-30 10:06:19 +0900」という表示を「2020-04-30 10:06:19 +0000」という表示に変えたいと言うことなら、表示するコードの話じゃなくて、お書きのような設定の問題です。 どっちなんですか? > ようは+9:00を取り除いて、 ということなので、前者かと思ったのですが。
HARUPONdesu

2020/05/10 16:41

返信遅れてすみません。 前者です。 何も知らなくて申し訳ありません。 該当のコードを探します。
HARUPONdesu

2020/05/11 01:45

timezone関係のコードがあってるか不安だったので、とりあえずapplication.rbのコードを貼らせていただきました。 それと、+9:00に該当しそうな場所のコード一通り見たのですが見当たりませんでした。 このあたりにあるんじゃない?というのも教えていただくと助かります。
otn

2020/05/11 01:50

> このあたりにあるんじゃない?というのも教えていただくと助かります。 自分で書いたはずなので、思い出しましょうとしか言いようが無いです。
guest

0

<%= hoge.created_at.strftime("%Y-%m-%d %H:%M") %>

こんな感じでどうですか。あとhogeの部分は環境に合わせて変えてください。

投稿2020/05/08 11:44

yamada_yuuki

総合スコア100

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

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

HARUPONdesu

2020/05/10 11:53

それはja.ymlを書く前に使いましたが、うまくいったものの、時間が綺麗にひょうじされなかったので、やめました。 返信ありがとうございます。 ちなみにおそらく今やるべきなのはコマンドからの設定だと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問