谷歌日期解析

时间:2012-10-11 14:01:05

标签: jquery parsing date calendar

我无法解析从Google日历Feed中提取的事件日期。这是我正在使用的相关代码段:

jQuery(function(){

       jQuery.getJSON("https://www.google.com/calendar/feeds/(my feed URL...)", function(data){


        function lpad(str, pad_string, length) {
            var str = new String(str);
            while (str.length < length)
                str = pad_string + str;
            return str;
        };

        jQuery.each(data.feed.entry, function(i, item){
            if(i == 0) {
                jQuery("#events li").first().hide();
            };
            var event_url = jQuery.trim(item.content.$t);
            var event_header = item.title.$t;
            if(event_url.length > 0) {
                    event_title = "<a href='" + event_url + "'>" + event_header + "</a>";
                };
                // Format the date string

                var d = item.gd$when[0].startTime + ' - ' + item.gd$when[0].endTime;
                var d_string = d;


            // Render the event
            jQuery("#events li").last().before(
                "<li><strong>"
                + event_title
                + "</strong><br/>Date: "
                + d_string
                + "</a></li>"
            );
        });
    });
});

一切正常 - 除了我正在尝试解析日期。日期显示为:

Date: 2012-10-11T10:00:00.000-05:00 - 2012-10-11T12:00:00.000-05:00

我知道我需要创建一个新的日期对象:

d=new Date(item.gd$when[0].startTime);

然后我尝试调试:

alert('Month: ' + d.getMonth());

我收到:

Month: NaN

我显然错过了一些东西 - 但我不确定是什么。

1 个答案:

答案 0 :(得分:1)

尝试这样:

item.gd$when[0].startTime = item.gd$when[0].startTime.replace('Date: ', '');
item.gd$when[0].startTime = item.gd$when[0].startTime.split(' - ');

var firstDate = item.gd$when[0].startTime[0];
var secondDate = item.gd$when[0].startTime[1];

var _firstDate = new Date(firstDate);
var _secondDate = new Date(secondDate);

alert(_firstDate.getMonth());
alert(_secondDate.getMonth());
相关问题