fullcalendar的正确JSON日期时间语法

时间:2011-10-26 14:45:19

标签: json date time fullcalendar

需要一些帮助才能在议程视图中显示事件时间的正确语法。尽管allDay设置为false,但事件只会在一整天内显示出来。

我的json.html页面如下所示:

$(document).ready(function() {
    $('#calendar').fullCalendar({
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,agendaWeek,agendaDay'
        },
        eventSources: [
            {
            url: 'json-events.php',     // use the `url` property
            color: 'yellow',            // an option!
            textColor: 'black',         // an option!
            editable: false
            }, 
            // Dont forget coma - but not on the last one
            {
            url: 'other-events.php',    // use the `url` property
            color: 'red',               
            textColor: 'black', 
            editable: 'false',
            allDay: 'false'             
            }
            // any other sources...             
        ]
    }); 
});

其中一个php页面如下所示:

<?php
    echo json_encode(array(
        array(
            'id' => 112,
            'title' => "What is this?",
            'start' => "2011-10-11T13:00:00",
            'end' => "2011-10-12T15:00:00",
            'allDay' => "false"
        ),
    ));
?>

如何在适当的时间(而不是列在“全天”部分下方)中显示在周和日期视图中显示的事件?

谢谢, 极端新手

2 个答案:

答案 0 :(得分:1)

在调整代码之后,我通过删除围绕false的“”来实现它。 php页面应如下所示:

'allDay' => false

:)

答案 1 :(得分:0)

您需要将引用视为“false”。 “false”是一个字符串,false是正确的“bool”false。

此外,您的json调用应该有一个查询,例如......

$sql = mysql_query("query") or die(mysql_error());

后跟一个while语句来检索信息......

while($arr = mysql_fetch_array($sql)){
    $array_content[] = $arr;
}

然后编码......

echo json_encode($array_content);

这将呈现您在数据库中拥有的任何数据。 while语句中的简单if语句会将字符串更改为bool,如此...

if($arr['allDay'] === "true"){
        $arr['allDay'] = true;
    } else {
        $arr['allDay'] = false;
    }
}

希望这有帮助!