В ответ на вопрос, с которым я пытаюсь помочь: javascript date.parse разница в Chrome и других браузерах
Мне нужна помощь в обновлении регулярного выражения, которое я нашел здесь:
для обработки 201 1-11-24T09: 00: 27 + 0200
В настоящее время предполагается, что он обрабатывает только 2011-11-24T09: 00: 27Z
версию даты ISO
, т.е. rx в
function(s){
var day, tz,
rx= /^(\d{4}\-\d\d\-\d\d([tT][\d:\.]*)?)([zZ]|([+\-])(\d\d):(\d\d))?$/,
p= rx.exec(s) || [];
if(p[1]){
day= p[1].split(/\D/).map(function(itm){
return parseInt(itm, 10) || 0;
});
day[1]-= 1;
day= new Date(Date.UTC.apply(Date, day));
if(!day.getDate()) return NaN;
if(p[5]){
tz= parseInt(p[5], 10)*60;
if(p[6]) tz += parseInt(p[6], 10);
if(p[4]== "+") tz*= -1;
if(tz) day.setUTCMinutes(day.getUTCMinutes()+ tz);
}
return day;
}
return NaN;
}
, чтобы заставить эту скрипку работать с IE и Safari
ОБНОВЛЕНИЕ: ответы сработали. Теперь я могу помочь другим проанализировать дату ISO, возвращаемую API facebook.