はてなブログの記事の投稿時間

はてなブログでは記事の先頭に日付、記事の最後に「○日前」といった表記がありますが、パッと見で投稿時間は分かりにくいです。URLから類推することは可能ですが、カスタムURLを使ったり、記事URLの設定をタイトルにしていたら日付までしか分かりません。

そこで「○日前」の方を投稿時間に書き換えようとスクリプトを書いてみたんですが、スクリプトが実行されたあと「○日前」に書き換えられてしまって意味がありませんでした。

var updated = document.getElementsByClassName("updated");
var datestring = updated.item(0).getAttribute("datetime");
var date = new Date(datestring);

// 例: 2015/7/29 22:30:00 ブラウザなど環境によって表示が異なる可能性あり
//datestring = date.toLocaleString();

// 自分で書式を設定する場合
datestring = date.getFullYear() + "年" 
+ ('0' + (date.getMonth()+1)).slice(-2) + "月" 
+ ('0' + date.getDate()).slice(-2) + "日 " 
+ ('0' + date.getHours()).slice(-2) + ":"
+ ('0' + date.getMinutes()).slice(-2);

updated.item(0).innerText = datestring;

予定ではこうなるはずでした

f:id:splicom:20150729230504j:plain

通常は日付がわかれば十分ですが、投稿された時間が意味を持つ場合もあると思うので、記事中に表示する日時の書式なども設定できるようになったらいいなと思います。