2016-05-31 24 views
0

因此,在我的网站中,我将完整日历用于其预期用途。通过对WebService的JSON调用,在我的aspx代码中,我从数据库中获取给定月份的所有事件。那些被送到日历。这在Chrome中运行得非常好,并且事件正确显示;不幸的是,在Firefox下(和其他人),我并不是那么成功。如果我用最简单的形式可能显示事件,它在Firefox就好:不同浏览器中的FullCalendar和事件DateTIme格式

events: [ 
     { 

      title: 'My Event', 
      start: '2016-05-01', 
      description: 'This is a cool event' 
     }, 

     { 

      title: 'My Event', 
      start: '2016-05-02', 
      description: 'This is a cool event' 
     } 
    ] 

但是,如果我使用的代码,我不得不从数据库中动态获取事件并显示出来,然后这一切失败(同样它适用于Chrome就好):

events: $.map(data.d,function (item, i) 
        { 
         var event = new Object(); 
         event.start = formatDate(item.StartDate); 
         event.end = formatDate(item.EndDate); 
         event.title = item.EventName; 
         return event; 
        }), 

我设法确定,无论是item.StartDate还是其formatyee作品,而后者提示“无效的日期”。在尝试将日期格式设置为“YYYY-MM-DD”之后进行了一些进一步的调查,我设法找到了this solution,这显然与我的相同,并且OP设法解决他们的问题。

我似乎无法弄清楚他们如何设法将格式更改为ISO8601。

+0

这并不完全清楚你在这里问什么。你问如何格式化日期在Web Api调用ISO8601?或者当它到达JavaScript时如何解析这个值? –

+0

我无法弄清楚他们如何格式化日期到iso8601。我设法解析它,但它的格式不正确,所以事件无法正常工作。 –

回答

0

事实证明,我在转换Date之前,甚至还没有把Javascript(当我从数据库中获得它)转换为JS格式的错误格式时,它已经很难修复。对于任何在不同浏览器中遇到问题的人,如果您不使用时间变量,只需将开始/结束日期转换为“yyyy-MM-dd HH:mm:ss”或“yyyy-MM-dd”它应该都很好。

相关问题