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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

1回答

2163閲覧

Ruby で基準時刻から時刻を加算、減算する方法

shinichi0326

総合スコア47

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

0クリップ

投稿2016/10/04 13:12

イタリックテキスト###前提・実現したいこと
今、t に基準となる時刻が入っています(19:38)。
これにプログラムで取得した時差tmp(1時間単位)を加算、減算したいのですが、思い通りに動いてくれません。初めての質問なので、質問自体わかりづらいかもしれないですが、どなたか教えて下さい

###発生している問題・エラーメッセージ

Main.rb:31:in block in <main>': undefined method tmp' for "19:38":String (NoMethodError)
Did you mean? tap
from /usr/local/rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0/lib/active_support/core_ext/range/each.rb:5:in each' from /usr/local/rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0/lib/active_support/core_ext/range/each.rb:5:in each'
from Main.rb:28:in `<main>'
SumoMe

エラーメッセージ

###該当のソースコード Time::DATE_FORMATS[:type] = "%H:%M" tmp = 0 for l in 0..N-1 if s[l]>=0 tmp = s[l] - s[k] puts t.tmp.hour.since.to_s(:type) else tmp = -(s[l] - s[k]) puts t.tmp.hour.ago.to_s(:type) end end ###試したこと puts tmp.hour.since.to_s(:type)で実行すると現在時刻との時差が出ますが、tからの時差を求めたいです。 ###補足情報(言語/FW/ツール等のバージョンなど) より詳細な情報 ###前提・実現したいこと ここに質問したいことを詳細に書いてください (例)PHP(CakePHP)で●●なシステムを作っています。 ■■な機能を実装中に以下のエラーメッセージが発生しました。 ###発生している問題・エラーメッセージ

エラーメッセージ

###該当のソースコード ```ここに言語を入力 ここにご自身が実行したソースコードを書いてください

###試したこと
課題に対してアプローチしたことを記載してください

###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報

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

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

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

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

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

guest

回答1

0

ベストアンサー

...
今、t に基準となる時刻が入っています(19:38)。
これにプログラムで取得した時差tmp(1時間単位)を加算、減算したい
...

次の irb での実行例が参考になれば、幸いです。

ruby

1irb(main):001:0> require 'active_support/all' 2=> true 3irb(main):002:0> t = Time.new(2016,10,1,2,3,4) 4=> 2016-10-01 02:03:04 +0900 5irb(main):003:0> tmp = 3 6=> 3 7irb(main):004:0> t + tmp.hours 8=> 2016-10-01 05:03:04 +0900 9irb(main):005:0> t - tmp.hours

投稿2016/10/04 16:36

katoy

総合スコア22324

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

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

shinichi0326

2016/10/04 19:15

質問内容がわかりづらかったと思いますが、簡潔かつ的確にヒントを頂いたと感謝しております。夜遅くに返信ありがとうございました。私もネットで色々調べてみたのですが、java, php、についてはこの問題を自力で調べられたのですが、時刻の計算は誰もがつまずく箇所のようにネットにも書いてありました。今のところ完全に独学でjava php Ruby python2 python3 を勉強しており、つまずくと1人では中々解決法を見つけるのが大変なので、ご助力誠にありがとうございます。また、解らなかった時は教えて下さい。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問