- 2008-05-29 (木) 22:30

これは何?
Twitter に表示される投稿日時(3 hours ago など)を yyyy/mm/dd hh:mi 形式に変更する Greasemonkey です。
きっかけは自分のログを振り返っている時に、「17 時間前」などと表示されても直感的にいつだったのかが分かりにくかったからです。
対応しているページは、Friends Timeline, Replies, Archive, Public Timeline, Favorites です。Permalink, Direct Messages には対応していません。
使い方
下記リンクからインストールしてください。 Firefox/Greasemonkey または Safari/Greasekit が必要です。
Twitter Time Converter – Userscripts.org
技術的なところ
Twitter のページの HTML に、ISO 8601 形式の日付が abbr タグの title 属性に入っているのですが、その ISO 8601 形式の日付が JavaScript の Date.parse で解釈できないようなので、仕方なく手動で parse しました。
parse については、以下のライブラリを参考にさせていただきました。感謝。
[JSAN] Date.W3CDTF - ISO-8601日時フォーマット対応JavaScriptクラス
関連リンク
・日付と時刻の正しい表現方法
ソース
// ==UserScript==
// @name Twitter Time Converter
// @namespace http://www.sukechan.net/
// @description The format of posted date is change.
// @include http://twitter.com/*
// @version 1.0
// ==/UserScript==
(function() {
var f = function() {
var x = document.evaluate('//a[@class="entry-date"]/abbr', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
for (var i = 0; i < x.snapshotLength; i++) {
var item = x.snapshotItem(i);
var ds = parseDate(item.getAttribute("title"));
if (ds) item.parentNode.innerHTML = ds;
}
}
function parseDate(s) {
var arr = s.split(/[^0-9]/);
if (arr.length == 8 ) {
for (var j = 0; j < arr.length; j++) arr[j] = arr[j] - 0;
var msec = Date.UTC(arr[0], arr[1] - 1, arr[2], arr[3], arr[4], arr[5]);
if (s.indexOf("+") < 0) arr[6] *= -1;
msec -= (arr[6] * 60 + arr[7]) * 60 * 1000;
var dt = new Date(msec);
return dt.getFullYear() + "/" + padZero(dt.getMonth() + 1) + "/" + padZero(dt.getDate()) + " " + padZero(dt.getHours()) + ":" + padZero(dt.getMinutes());
} else {
return;
}
}
function padZero(s) {
return ("0" + s).slice(-2);
}
f();
addFilter(f);
function addFilter(filter, i) {
i = i || 4;
if (window.AutoPagerize && window.AutoPagerize.addFilter) {
window.AutoPagerize.addFilter(filter);
}
else if (i > 1) {
setTimeout(arguments.callee, 1000, filter, i -1);
}
}
})();
- Newer: 「新しくプログラミング言語を覚えたいときに行うべき10の練習問題」を PHP で解いてみる【第 1 回】
- Older: Google Trends のキーワードを投稿する Twitter bot
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://www.sukechan.net/archives/63/trackback/
- Listed below are links to weblogs that reference
- Twitter の投稿日時のフォーマットを変更するグリモン from sukechan.net