Updated on 2002-05-20
# 指定した日の間の日数を計算する ruby script # # copyright May 2002 by TAKENAKA, A. require 'date' # 日付のクラスライブラリを利用する # 引数に日付が指定されてなかったら,使い方を表示 if ARGV.length == 0 puts "usage: ruby daydif.rb yyyy/mm/dd [yyyy/mm/dd]" puts " ruby daydif.rb yyyy-mm-dd [yyyy-mm-dd]" exit end # 日付オブジェクトの生成 # 日付指定文字列が正しいかどうかのチェックは省略(手抜き) yr, mo, dy = ARGV[0].split('[/-]') # 年月日の区切りは / か - date0 = Date.new(yr.to_i, mo.to_i, dy.to_i) if ARGV[1].nil? # 日付がひとつしか指定されてなかったら date1 = Date.today # もう一方は今日. else yr, mo, dy = ARGV[1].split('/') date1 = Date.new(yr.to_i, mo.to_i, dy.to_i) end date0, date1 = date1, date0 if date1 - date0 < 0 # date0 < date1 にする printf "%d days from %s to %s\n", date1 - date0, date0.to_s, date1.to_s