0

私は codeIgniter プロジェクトに取り組んでいます。fullCalendar を使用してイベントを挿入します。実装したいコンセプトはGoogleカレンダーに似ています。ユーザーがカレンダーの日をクリックすると、クリックした日の日付から始まるイベントが挿入されます。私は自分のビューから 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 に始まります。開始日が正しく設定されていない理由がわかりません。私が間違っていることは何ですか?誰か助けてくれませんか?

4

1 に答える 1

0

私は答えを見つけました。コントローラーに投稿する前に、fullCalendar の日付形式を文字列に変換する必要があります。1 行がありませんでした:

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

同じように悩んでいる方の参考になれば幸いです`

于 2012-08-30T15:07:01.390 に答える