2009/10/03(土)twittime.user.js
1時間前っていつよ?
twitter を web から使っていると、「1時間前」などという表記がアバウトすぎて、逆にいらいらするので表示を日時にしてくれるブックマークレット UserJSにした
導入すると、「約3時間前 webで」が「10/03 20:40 [2時間58分前] webで」みたいになります。
Opera10 のみ動作確認。
twittime.user.js
保存されるときは文字コード(UTF-8で!)にお気をつけください。
// ==UserScript== // @name Twittime // @namespace http://tu3.jp/ // @include http://twitter.com/* // ==/UserScript== function twittimeUpdate() { if(window.getSelection().rangeCount > 0) return; var entries = document.getElementsByClassName("published timestamp"); for(var i=0; i<entries.length; i++) { var nowDate = new Date(); var pubDate = new Date(entries[i].getAttribute("data").split(/'/)[1]); var dta = new Array(pubDate.getFullYear(), pubDate.getMonth()+1, pubDate.getDate(), pubDate.getHours(), pubDate.getMinutes(), pubDate.getSeconds()); var pDate = (nowDate.getFullYear() != dta[0] ? dta[0]+"/" : "") + dta[1]+"/"+(dta[2]<10?"0":"")+dta[2]; var pTime = dta[3]+":"+(dta[4]<10?"0":"")+dta[4]; var deltaStr; var deltaSec = (nowDate.getTime() - pubDate.getTime())/1000; var dsa = new Array(Math.floor(deltaSec/86400), Math.floor(deltaSec%86400/3600), Math.floor(deltaSec%3600/60), Math.floor(deltaSec%60)); if (deltaSec < 60) deltaStr = "" + dsa[3] + "秒前"; else if(deltaSec < 3600) deltaStr = "" + dsa[2] + "分" + (dsa[3]<10?"0":"")+dsa[3] + "秒前"; else if(deltaSec < 86400) deltaStr = "" + dsa[1] + "時間" + (dsa[2]<10?"0":"")+dsa[2] + "分前"; else deltaStr = "" + dsa[0] +"日"+(dsa[1]<10?"0":"")+dsa[1]+"時間前"; entries[i].innerHTML = pDate + " " + pTime + " ["+deltaStr+"]"; } } setInterval("twittimeUpdate()",1000);