Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Rubyで日付減算処理のクラス化

  • 概要

以前作成した日付の減算処理をクラス化します。
ユーティリティーとして提供したいので静的メソッドとして実装します。

日付減算処理の仕様については以下
http://d.hatena.ne.jp/tbpg/20120115/1326638950

  • コード
class DateUtil
	def self.calcDateDiff(timeFrom, timeTo)
		dateDiff = timeTo - timeFrom
		case dateDiff
		# 比較結果
		when 0..86399
			diffHour = (dateDiff/3600).to_i
			diffMinute = ((dateDiff-(3600*diffHour))/60).to_i
			diffSec = (dateDiff-(60*(diffMinute))-(3600*(diffHour))).to_i
			ret = "#{diffHour}時間#{diffMinute}#{diffSec}"
		# 比較結果(エラー)
		else
			"時刻が不正です\n"
		end
	end
end

#開始時間
timeFrom = Time.mktime(2012,1,15,15,50,10)
#終了時間
timeTo = Time.mktime(2012,1,15,16,51,11)

aret = DateUtil.calcDateDiff(timeFrom, timeTo)
puts aret

出力結果

開始時刻:2012-01-15 15:50:10 +0900
終了時刻:2012-01-15 16:51:11 +0900
1時間1分1秒