坂野 正明です。

時間の四則演算をしたいと考えています。
たとえば
  3分20秒 - 20秒 => 3分 (=180秒)
  2時間1分10秒 + 20秒 => 2時間1分30秒
  10秒 * 6 => 60秒 (=1分0秒)
  2分58秒 / 1分29秒 => 2
などのような。

端的には、
 時間と時間の和および差 => 時間
 時間とNumericの積 => 時間
 時間と時間の商 => Numeric
を計算したい次第です。

# 物理単位としての「時間」の演算と言ってもいいです。

単位は、現実問題として、××時間(hour)か、せいぜい日(day)
まであれば手前としては実用的に十分です。実際、年(year)が
出てくると、どの定義を採用するか、という不確定性が出てきて
混乱を招きそうですし……。

そういうライブラリまたはクラスがきっとあるだろう、と思って
検索してみたのですが、適当なものが見つかりませんでした。

標準クラスの Timeは、差分としての時間ではなく、
暦という座標における時刻ですよね。
Timeクラスにおいて、差(-)のメソッドは定義されていますが
(秒をNumericで返す)、和は定義されていないようですし、
まして積や商は定義されていません。Timeが時刻である以上、
仕様としてそうあるべきもの、と納得します。

アドバイスやコメント頂ければ幸いです。

坂野正明