【问题标题】:can't insert event starting on a defined date into fullCalendar无法将定义日期开始的事件插入 fullCalendar
【发布时间】:2012-08-30 11:58:03
【问题描述】:

我正在开发一个 codeIgniter 项目。我使用 fullCalendar 插入事件。我想实现的概念类似于谷歌日历。当用户点击日历中的某一天时,他会插入一个从点击日期开始的事件。 我从我的视图中进行了 ajax 调用并将日期发布到控制器。一旦在控制器中,我要做的就是使用此值设置开始日期并将事件插入日历中。这是我的代码(控制器)

function add_event()
    {

           $click_date = $this->input->post('date'); 
           $date= explode(" ", "$click_date ");
           $month= (int)$date[1];
           $day= (int)$date[2];
           $year= (int)$date[3]; 
           $date_start = $this->unix_timestamp($year.'-'.$month.'-'.$day);
           $this->load->library('gcal');
           $date_end = $this->unix_timestamp('2012-08-15'); 

           $params = array(
            'calendarId'    => 'my Google calendar id',
            'allday'        => true, 
            'start'         => $date_start,
            'end'       => $date_end,
            'summary'       => 'event',
            'description'   => "My first event"
        );

        $response = $this->gcal->eventInsert($params); 


        if($response)
        {
            echo "true";
        } 
    }

这是我的 unix_timestamp 函数:

function unix_timestamp($date)
    {
        $date = str_replace(array(' ', ':'), '-', $date);
        $c    = explode('-', $date);
        $c    = array_pad($c, 6, 0);
        array_walk($c, 'intval');

        return mktime($c[3], $c[4], $c[5], $c[1], $c[2], $c[0]);
    }

在日历上,插入了事件,但不是在正确的开始日期。它从 2012-01-01 开始,这是我猜的默认日期。我不明白为什么我的开始日期设置不正确。 我做错了什么?有人可以帮我吗?

【问题讨论】:

    标签: fullcalendar unix-timestamp mktime gcal


    【解决方案1】:

    我找到了答案。在将其发布到控制器之前,我应该将 fullCalendar 日期格式转换为字符串。缺少一行:

    date_format = $.fullCalendar.formatDate(date,"yyyy-MM-dd HH:mm:ss");`
    

    希望对遇到同样问题的人有所帮助 `

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-01
      • 2015-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-13
      • 2018-04-15
      相关资源
      最近更新 更多