Twitter API が日付を返す形式でエンコードされたものについて話しています。
"Tue Jan 12 21:33:28 +0000 2010"
私が考えた最善のことは、それを正規表現でスライスして、より似たものにすることでした...
20100112213328
、
しかし、もっと良い方法があるはずです。
Twitter API が日付を返す形式でエンコードされたものについて話しています。
"Tue Jan 12 21:33:28 +0000 2010"
私が考えた最善のことは、それを正規表現でスライスして、より似たものにすることでした...
20100112213328
、
しかし、もっと良い方法があるはずです。
のような文字列を使用して、新しい Date オブジェクトを作成できます"Tue Jan 12 21:33:28 +0000 2010"
。
var dateString = "Tue Jan 12 21:33:28 +0000 2010";
var twitterDate = new Date(dateString);
次に、単純に < と > を使用して比較を行うことができます。
var now = new Date();
if (now < twitterDate) {
// the date is in the future
}
JavaScript Date は Twitter の日付を正しく解析します:
var d1 = new Date ("Tue Jan 12 21:33:28 +0000 2010")
, d2 = new Date ("Tue Jan 12 22:33:28 +0000 2010");
数値形式に変換する getTime メソッドを使用してこれらを比較できます。
if (d1.getTime() < d2.getTime())
{
//...
}
または、単に
if (d1 < d2)
{
}
必要に応じて、番号を明示的に強制します。
if (+(d1) < +(d2))
{
}
ECMAScript 仕様 5.1 に関する限り (15.9.1.15 を参照)、サポートされている日時の文字列交換形式はYYYY-MM-DDTHH:mm:ss.sssZ
(短い形式と共に) のみです。
それ以外の場合 (15.9.4.2):
文字列がその形式に準拠していない場合、関数は実装固有のヒューリスティックまたは実装固有の日付形式にフォールバックする可能性があります。
短く、どこでも動作することが保証されている正規表現ベースのソリューションを使用します。ユーザーのブラウザーとローカリゼーションのパラメーターに依存することは、私には少し不気味に思えます。