twitterAPI JSON|created_at|ie 対応

2月 12th, 2010 by ナカムラヒデキ Leave a reply »

twitter API から作成される json データには、
tweet した時間が created_at として以下のように記載されています。

created_at: “Sun Jan 24 06:01:42 +0000 2010″

この値を以下のようなjavascriptでそのまま使用すると、
ieでは Date オブジェクトが作成されていないようです。
Safari、Firefoxは問題なし。

var time = "Sun Jan 24 06:01:42 +0000 2010";
var time2 = "Mon Jan 25 2010 04:27:44 +0000";
var d = new Date(time);
var dd = new Date(time2);
alert(d);
alert(dd);

ie 6・7・8 で確認。

そのため以下のFunctionを用意して、文字列を置換する事でエラーを回避


function replaceTwTimeStr(time){
// ie は Twitter の DateFormat ではエラーになるので順序を入れ替える
var tArray = time.split(" ");
var timeStr = tArray[0] + " " + tArray[1] + " " + tArray[2] + " " + tArray[5] + " " + tArray[3] + " " + tArray[4];
return timeStr;
}

Advertisement

5 comments

  1. その後、created at の並び順が変更になりIEでの問題は解消されているようです。

    created_at: “Wed, 15 Dec 2010 04:17:59 +0000″

  2. のりお より:

    IEでinvalid dateの対策で悩んでましたが助かりました。

    現在 created_atの値を確認したところ
    Wed Jun 01 03:39:41 +0000 2011の形式のようなので、仕様変更で元に戻っちゃったんでしょうかね。

  3. え!そうなんですか。
    仕様変更はTwitterの都合で行われますから、仕方ないのですが要確認ですね。

  4. soutaito より:

    ちょうど引っかかっていた所で、無事解決しました。
    どうもありがとうございました。

コメントを残す