Creazy!

WEBエンジニア・ヤガーのテック・ガジェットブログ

JavaScript WebService 小技集

第8回:Twitter JavaScript Badges の日付フォーマットを自由にカスタマイズ

投稿日:


久しぶりに twitter ネタです。
というかシツコク JavaScript badges のお話。
以前のエントリーで IE での日付表示がおかしい件に対応しました。
そのエントリーにフォローする形で @iddz さんが日付の丸め方とか日本語で表示する方法とかを書いてくれました。

時間のところにだけ四捨五入をするようにしました。

ニンブロラボ. Twitter Badges 時間の丸め方が違う件

という事でもう書く事ないかなと思いつつ、もっとオーソドックスな日付表示の方法を紹介します。


っていうかね、JavaScript が分かる人ならなんなくできる事だろうけど、前のエントリーで割と初心者の方から好評だったので書いてみる訳です。

もちろん、relative_time関数をいじるのだ

書いた方が早いと思うのでソースをば。
Twitter Badges ページからコピってきたソースのrelative_time関数を下記に差し替え。

function relative_time(time_value) {
time_values = time_value.split(" ");
time_value = time_values[1]+" "+time_values[2]+", "+time_values[5]+" "+time_values[3];
var parsed_date = Date.parse(time_value);
var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
delta = delta + (relative_to.getTimezoneOffset()*60);
// 日付情報取得
var dt = new Date();
dt.setTime(dt.getTime() - (delta*1000));
yy = dt.getYear();
mm = dt.getMonth() + 1;
dd = dt.getDate();
dy = dt.getDay();
hh = dt.getHours();
mi = dt.getMinutes();
ss = dt.getSeconds();
if (yy < 2000) { yy += 1900; }
if (mm < 10) { mm = "0" + mm; }
if (dd < 10) { dd = "0" + dd; }
dy = new Array("日","月","火","水","木","金","土")[dy];
if (hh < 10) { hh = "0" + hh; }
if (mi < 10) { mi = "0" + mi; }
if (ss < 10) { ss = "0" + ss; }
// フォーマットして返す
return yy+"/"+mm+"/"+dd+"("+dy+") "+hh+":"+mi+":"+ss;
}

つまり、つぶやいてから n 秒後というデータに直したあとに、もう一回日付オブジェクトに変換して、フォーマットしやすいように日付情報(年とか月とか日とか)を分解しておくという事です(メンドイ)。
個人的には「YYYY/MM/DD(DY) HH:MI:SS」という形式が好きなのでこんな感じになりました。
んで、表示するとこんな感じ。

バスケ終わり。今日はスリー入ったなぁ。[tM] 2007/06/16(土) 21:20:22

よしよし。ええ感じ。
Twitter の Badges はもう少しだけネタがあるので続きます。

twitterの公式Badgesにオレのハックが採用されてない??
第5回:twitter の JavaScript Badge を改造する
第4回:twitter の JavaScript Badge をIEで表示するとおかしい件に対応してみる

-JavaScript, WebService, 小技集

執筆者:


comment

メールアドレスが公開されることはありません。

関連記事

Clubhouse高音質化計画/オーディオインターフェース経由でマイクを繋ぐ方法・BGMも流したいね!

先週あたりから突然WEB界隈で流行りだした音声SNSのClubhouseがタイムラインであれよあれよと広がっていくので、流行り物好きとしては乗っかるしか無いと思ったんですが、いつも使っているyager …

「はてブ Fans Ranking」であなたのブログをたくさんブクマしてくれてる人を調べよう

ちょっと、思い付いてこんなの作ってみました。 指定したURL内ページをたくさんブックマークしている、はてなブックマークアカウントのランキングを表示してくれます。

no image

はてブ200users超え!やまざきメソッドの反響多数頂きました

先日ほってんとり入りした「やまざきメソッド ジェネレーター」ですが、夏休み(前半)を過ごしているうちにたくさんのはてなブックマークとブログでのご紹介を頂いていました。はてブ数もさることながらやっぱりブ …

ラボで自分が作ったサービスをまとめてみました

サブドメイン(labs.creazy.net)で運用している自分用のラボサイトがあるのですが、トップページはPukiWikiで構築していたのがいつの間にかPHPのエラーが出て表示されない状態になってい …

Raspberry Pi 4 Model B 8GBでライブ配信(1) USB接続のWEBカメラ映像をFFmpegで保存してみる

ブログご無沙汰しております。ヤガーです。 本業のWEB開発と並行して、リモートワーク推奨の影響でライブ配信などの需要が高まっており、以前よりイベントなどで配信をしていた関係で様々な形式でのライブ配信方 …

スポンサードリンク

スポンサードリンク