Как разобрать даты файла календаря с помощью JavaScript?

Нам нужно использовать JavaScript в браузере для чтения и анализа файлов календаря (.ics) (также называемых форматами iCal). Я написал пользовательскую функцию для чтения этих значений и затем использовал функцию JavaScript Date () для создания объекта данных.

Есть ли более простой и лучший способ сделать это? Пожалуйста, посмотрите на мою функцию (ниже), ваши комментарии будут приветствоваться.

Типичное значение даты из файла .ics выглядит так:

DTSTART: 20110914T184000Z

Нужно разбить его на двоеточие, так что

var strData = 'DTSTART:20110914T184000Z'
var x = strData.indexOf(":");
var strVal = strData.slice(x + 1 );

Затем вызовите функцию, которая возвращает объект даты:

var dateObj = calenDate(strVal);

// результирующее значение dateObj: пт 14 окт 2011 18:40:00 GMT-0400 (восточное дневное время)

Вот функция, которая анализирует дату.

function calenDate(icalStr)  {
    // icalStr = '20110914T184000Z'             
    var strYear = icalStr.substr(0,4);
    var strMonth = icalStr.substr(4,2);
    var strDay = icalStr.substr(6,2);
    var strHour = icalStr.substr(9,2);
    var strMin = icalStr.substr(11,2);
    var strSec = icalStr.substr(13,2);

    var oDate =  new Date(strYear,strMonth, strDay, strHour, strMin, strSec)

return oDate;
}

Я думаю, что что-то не так, потому что месяц ошибается.

Ответы на вопрос(3)

Ваш ответ на вопрос