風柳メモ

ソフトウェア・プログラミング関連の覚書が中心

Twitterの時刻表示を○年○月○日(△) ×時×分×秒にするブックマークレットはワンライナで書けた(苦笑)

jQueryって偉大だな

というわけで、twitjst:Twitterの時刻表示を○年○月○日(△) ×時×分×秒にするユーザサイドスクリプト&ブックマークレット - 風柳メモでは大げさなことやってましたが、よく調べると外部スクリプト読み込みもなく書けることが判明。

javascript:(function(C){updateTimeAgo=function(){setTimeout(C,100)};C()})(function(W,B,T){W='日月火水木金土';$(".timestamp").each(function(){B=$(this);T=new Date(Date.parse(B.meta().time.replace(/([+\-])/,'UTC$1')));if(T&&B.find("*").length==0){B.html(T.getFullYear()+'年'+(1+T.getMonth())+'月'+T.getDate()+'日('+W.substr(T.getDay(),1)+') '+T.getHours()+'時'+T.getMinutes()+'分'+T.getSeconds()+'秒')}})})

ブックマークレット実行後は、「もっと読む」を押して継ぎ足されたページでもちゃんと変換されるようになります(AutoPagerize対応まではやってません)。

追記

ちょっと効率化&AutoPagerize系に対応した版(ただしwindow.AutoPagerizeが外から見えないとだめなので、本家Firefox版などはNG)。

javascript:(function(C,U){C();U=updateTimeAgo=function(){setTimeout(C,100)};if(window.AutoPagerize)AutoPagerize.addDocumentFilter(U)})(function(W,B,T){W='日月火水木金土'.split('');$("#content span.timestamp:not(.done)").each(function(){this.className+=' done';B=$(this);T=new Date(Date.parse(B.meta().time.replace(/([+\-])/,'UTC$1')));if(T)B.html(T.getFullYear()+'年'+(1+T.getMonth())+'月'+T.getDate()+'日('+W[T.getDay()]+') '+T.getHours()+'時'+T.getMinutes()+'分'+T.getSeconds()+'秒')})})
ユーザサイドスクリプト

Firefox用に、Greasemonkey版。

twitimejpインストール

そういや前回の記事のは別にJSTにするわけじゃない(localetimeになると思う、多分)ので、名前おかしかったな〜。まぁ、いいか。