あーるPG - 社会人のデジタル生活

日曜プログラマになろうかなーと思った30代理系社会人の、キャリアアップや趣味(特にデジタル情報)の記録。らーめんとビールが好き。

日時、時間の扱い

#ruby 1.8.4のせいかABBR_DAYNAMESが使えないようなので用意した
youbi = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]

print time = Time.now                #現在時刻を与える
print "\n%04d/%02d/%02d (%s)\n" % [    #日時の出力
    time.year,
    time.month,
    time.day,
    youbi[time.wday]
]

#フォーマットを使って出力.
print time.strftime("%Y/%m/%d (%a) %X:%M:%S %Z\n")

print "micro sec : %d\n" %[time.usec]    #マイクロ秒

#時間測定
p time1 = Time.new    #測定開始
hoge = gets
p time2 = Time.new    #測定終了
print " %f sec\n" %[Time.at(time2 - time1)]

#システム時間の計測
sys_t = Process.times    # 1.7.4からProcessに移行された.
print "user time         : %f (sec)\n" %[sys_t.utime ]
print "system time       : %f (sec)\n" %[sys_t.stime ]
print "child user time   : %f (sec)\n" %[sys_t.cutime]
print "child system time : %f (sec)\n" %[sys_t.cstime]

リファレンスマニュアル*1にはDateクラスファイル'date'に曜日の定数が定義されていると書かれてあるが使えない。使ってるバージョンが1.8.4だからだと思う。(Cygwinさん早くVerUpしてくださーい)
Process#timesも本にはTime#timesと書いてあるけれど、1.7.4からProcessに移行されたそうで警告が出る。