はてなダイアリーの日付

日記を読み返すことが結構ある。
「管理」から「その他の機能」での日記のエクスポート機能は重要だ。


無線LANで家中どこに居ても、インターネット、かつ、
ブロードバンド環境なら、気にならないでしょうが、
うちは、電話かインターネットのニ択をせまられる、ナローバンド。
そして、無線LAN環境なんてものは、構築していない。
ので、エクスポートしたファイルをオフラインで読むのが、通常となる。
ノートに入れていれば、どの部屋でも読めるし。


しかし、不満がある。
不満は、帯に短し襷に長し、というもの。

  1. Movable Type形式、CSV形式は、タグが目障り
  2. はてなの日記データ形式は、更新時刻が意味不明な数字


引越しを考えるなら、汎用性のあるMovable Type形式にすべきだが、
タグで読み難いのは、お断り。
(Movable Type形式の日付は、人間に優しいけど)
となると、更新時刻はたいして気にならないので、
はてなの日記データ形式」にしているのだが、稀に時間が気になる。
ということで、シリアル値→日付変換ファイルを作ってみた。
私には、これで充分。


以下の「hatenatime.html」
yahooブリーフケース


これで、
「*1149609261*[日常] 06年06月06日」が何時に登録したエントリなのか、
コメントをもらった「1149691485」がいつなのか
わかるようになりました。

技術的なお話

以下のようにして作りました

  1. この数値が何か推理する
    →多分、基準日からの数値だろう
  2. では、同じ様に基準日からの数値で管理されるJava(グレゴリオ暦)の値と比べてみる
  3. だいたい同じ時刻で、比較すると、はてなの数値の1000倍がJavaのシリアル値
  4. ということは、Javaで変換プログラムが作成可能
  5. さらに考えると、JavaScriptでも可能
  6. ということは、ブラウザで変換可能

で、公開したファイルができた訳です。


ちなみに、基準日は、1970年 1月 1日。
「1149609261」とは、1970/1/1 00時00分00秒から、
1149609261秒たった日時、ということ。
6月6日の日記を書いたのは、6月7日でした。


なお、動作確認は以下の環境で適当に行っています。

  1. Windows 2000 (SP4) + Internet Explorer 6.0 (SP1)
  2. Windows 2000 (SP4) + Firefox 1.5.0.4
  3. Fedora Core 4 (Linux) + Firefox 1.5.0.4