2011-10-05 112 views
2

我正在将Google Calendar API与jQuery DatePicker进行整合。Google日历时区问题

像往常一样,我的代码在除Internet Explorer之外的每个浏览器上都能正常工作。

我现在有这样的代码:

$.getJSON("http://www.google.com/calendar/feeds/[email protected]/public/full?alt=json", function(data, textStatus){ 
    $.each(data.feed.entry, function(index, event){ 
     if(event.gd$when) { 
      var event_date = $.datepicker.formatDate('yymmdd', new Date(event.gd$when[0].startTime)); 
      if (!(calendar_data.hasOwnProperty(event_date))) { 
       calendar_data[event_date] = new Array(); 
      } 
      event.gd$when[0].formatedTime = $.datepicker.formatDate('MM d, yy', new Date(event.gd$when[0].startTime)); 
      calendar_data[event_date].push(event); 
     } 
    }); 
    showEvent(new Date()); 

    $('#calendar-datepicker').datepicker("refresh"); 
}); 

它并不在IE浏览器由于IE使用客户端的时区进口日期。

Google日历的日期不在本地时区。我已经看到我可以在我的JSON调用中添加一个ctz(自定义时区),但是我找不到任何信息。这不是时区偏移量,I know that much

我的问题:Internet Explorer无法提取Google日历日期。我怎样才能解决这个问题?

+0

Word + Maths + In + Title = Silly title – Bojangles

+0

对不起,标题! –

+0

我改变了它;)! –

回答

1

嗯...... drop IE支持?螺丝跛脚用户! 我知道这是一个可怕的答案,但如果我看到它,我仍然会将它投票...

在一个严肃的说明中,你不能为ie开启一个例外,并计算数学吗?

0

new Date(event.gd$when[0].startTime)返回NaN,基于浏览器的

所以更改

var event_date = $.datepicker.formatDate('yymmdd', new Date(event.gd$when[0].startTime)); 

var event_date = $.datepicker.formatDate('yy-mm-dd', Date.parse(event.gd$when[0].startTime)); 
0

你能设法让那些谷歌日历的timezoneID?如果是,那么你就要走了。你可以转换它。