日付文字列の解析は非常によくある質問です。これについては既に回答があります。とにかく...
日付形式が 2012-10-18T11:21:30+0000 (ほぼ ISO8601) で、オフセットが常に +0000 (つまり UTC) の場合、以下を使用して適切な日付オブジェクトを作成できます。
function isoStringToDate(s) {
var b = s.split(/[-t:+]/ig);
return new Date(Date.UTC(b[0], --b[1], b[2], b[3], b[4], b[5]));
}
その UTC 時間に設定されたローカル日付オブジェクトを返します。これは、適切なタイムゾーンに設定されているユーザーのシステムに依存することに注意してください。
Facebook 形式 (Wed Oct 17 21:22:27 +0000 2012) 形式も同様に変換できます。
function fbStringToDate(s) {
var b = s.split(/[: ]/g);
var m = {jan:0, feb:1, mar:2, apr:3, may:4, jun:5, jul:6,
aug:7, sep:8, oct:9, nov:10, dec:11};
return new Date(Date.UTC(b[7], m[b[1].toLowerCase()], b[2], b[3], b[4], b[5]));
}
ここでも、オフセットが常に +0000 (UTC) であると仮定します。他のオフセットが必要な場合は、作成された日付オブジェクトを返す前に適用できます。