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

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

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

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

Q&A

1回答

516閲覧

Ruby 勉強時間の正しい出力ができない

komati88

総合スコア6

Ruby on Rails 6

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

0グッド

0クリップ

投稿2021/09/25 00:50

前提・実現したいこと

Railsで勉強時間を記録するアプリを製作中です。

勉強時間の出力がうまくいかず困っています。

コード(具体例)

変数T1,T2をそれぞれ勉強開始時間、終了時間とします。
それぞれの時間を2021年09月22日10:15、2021年09月23日16:45

diff = T2 - T1 Time.at(diff).utc.strftime('勤務時間 :%X') 勤務時間 :06:30:15

正しい計算ならば 30:30のはずですが、結果は06:30と出力されてしまいます。

どうすれば正しい勉強時間が出力できるか、どなたか知見のある方、ご教授いただけると幸いです。

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

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

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

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

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

guest

回答1

0

strftimeは、時間じゃなくて時刻を表示します。30時間は1日と6時間なので。
時間(長さ)を出すなら、時間長さから秒数を求めて、3600で割って時間数を求める必要があります。
分と秒は、strftime("%M:%S")で。

投稿2021/09/25 01:02

編集2021/09/25 01:08
otn

総合スコア85901

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

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

komati88

2021/09/25 07:36

返信ありがとうございます。 具体的にはどのようにしたら良いでしょうか?
otn

2021/09/25 08:13

T1 T2 はおそらくTimeですよね?であれば、diff は秒なので、3600で割って整数化すればいいかと。
komati88

2021/09/25 12:58

返信ありがとうございます、 やってみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問