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

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

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

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

Q&A

解決済

1回答

807閲覧

Rails6でunixtimeのutcを取得しようとするとjstになってしまう。

TJMYK

総合スコア82

Ruby on Rails 6

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

0グッド

0クリップ

投稿2021/07/12 07:40

編集2021/07/12 07:43

Time.nowで取得した時間をto_iでunixtimeに変換しようとしています。
また、この時、UTCで取得したいと思っているので、以下の様にしていますが、to_iを挟むとどうしてもJSTになってしまいます。

Time.now.utc.to_i

なにか、解決策は、ございますでしょうか?

rails cの情報も添付させていただきます。

Ruby Version : ruby-2.7.3

Loading development environment (Rails 6.1.4) irb(main):001:0> t = Time.now => 2021-07-12 07:34:51.8509292 +0000 irb(main):002:0> t.to_i => 1626075291 irb(main):004:0> t = t.utc => 2021-07-12 07:34:51.8509292 UTC irb(main):005:0> t.to_i => 1626075291 irb(main):006:0> t.zone => "UTC" irb(main):007:0>

ちなみに、Time.nowしたときの時刻は__2021/07/12 16:34:51__です

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

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

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

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

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

guest

回答1

0

ベストアンサー

また、この時、UTCで取得したいと思っているので、以下の様にしていますが、to_iを挟むとどうしてもJSTになってしまいます。

そもそも論として、Unix timeは特定の瞬間に対応する値です

常にUTCでの1970年1月1日00:00から数えた時間なので、同じ瞬間を表す時間をUTCにしようがJSTにしようが、Unix timeの値は同じです。

投稿2021/07/12 08:00

編集2021/07/12 08:03
maisumakun

総合スコア145186

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

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

maisumakun

2021/07/12 08:05 編集

> Time.nowで取得した時間をto_iでunixtimeに変換しようとしています。 Time.now.to_iでも、Time.now.utc.to_iでも結果は同じです(Time#utcは、同じ「瞬間」をUTCに換算するためのメソッドであって、同じ「時間表記」となるUTCの時間を得るわけではありません)。 https://docs.ruby-lang.org/ja/latest/class/Time.html#I_GMTIME
maisumakun

2021/07/12 08:19

本題ではありませんが、Railsでタイムゾーンの絡む値を使う場合、ActiveSupport::TimeWithZoneを使うことをおすすめします(Time.zone.nowなどで取れます)。
TJMYK

2021/07/12 08:50

確かに、ご回答頂いた内容でした。基本的なことが抜けていました。 また補足までいただき、ありがとうございます。助かりました! この度は、ご回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問