4月 162006
 

はてなダイアリーでは
*1145196803*[カテゴリー名] 題名
とすると、題名を書いた日記を書いた時間が表示されます。1145196803 なら 2006/04/16 23:13:23 となるわけです。この値は 1970/01/01 09:00 からの経過秒数の値となっており、9桁(100000000 : 1973/03/03 18:46:40) ~10桁(2147483647 : 2038/01/19 12:14:07) を表現できます。
ここ Movable Type のように日時を人間でもわかるフォーマットで自由に指定できる日記なら楽なのですが、はてなダイアリーはそういう仕様になっていないので、Ruby の勉強がてら、スクリプトを書いてみました。適当なファイルに保存して ruby 保存したファイル名.rb で、現在時刻を示す数値が表示されます。
以下、試験例。

  • ruby testscript.rb 0 : 1970/01/01 9:00 を表示
  • ruby testscript.rb 23 45 56 : スクリプト実行日の 23:45:56 を表示
  • ruby testscript.rb 2 23 45 56 : スクリプト実行月の2日の 23:45:56 を表示

個人的にはてなダイアリーの記述時間を調整したい(寝落ちしちゃったので前日の時間で日記を書きたい、等)という目的で作った適当スクリプト。内容もサンプルレベルなので、コピペ・改造などはご自由にどうぞ(需要があれば、ですが^^;;)

if (ARGV[0] == nil)
#現在時刻 (引数なし)
puts "現在時刻 : "+ Time.now.to_s + " ("+Time.now.to_i.to_s+")";
elsif(ARGV[1] == nil)
#1970/01/01 からの経過秒数 (引数1個)
puts "指定時刻 : " +
Time.at(ARGV[0].to_i).to_s +
" ("+Time.at(ARGV[0].to_i).to_i.to_s+")";
elsif(ARGV[3] == nil)
#時、分、秒 (引数3個)
year = Time.now.year.to_i;
mon  = Time.now.mon.to_i;
day  = Time.now.day.to_i;
puts "指定時刻 : " +
Time.local(year,mon,day,ARGV[0].to_i,ARGV[1].to_i,ARGV[2].to_i).to_s +
" ("+Time.local(year,mon,day,ARGV[0].to_i,ARGV[1].to_i,ARGV[2].to_i).to_i.to_s+")";
else
#日、時、分、秒 (引数4個)
year = Time.now.year.to_i;
mon  = Time.now.mon.to_i;
puts "指定時刻 : " +
Time.local(year,mon,ARGV[0].to_i,ARGV[1].to_i,ARGV[2].to_i,ARGV[3].to_i).to_s +
" ("+Time.local(year,mon,ARGV[0].to_i,ARGV[1].to_i,ARGV[2].to_i,ARGV[3].to_i).to_i.to_s+")";
end

Sorry, the comment form is closed at this time.