2

Google カレンダー フィードから取得したイベントの日付を解析できません。私が取り組んでいる関連するコードスニペットは次のとおりです。

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

明らかに何かが欠けていますが、何がわかりません。

4

1 に答える 1

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());
于 2012-10-11T14:06:11.267 に答える