私は 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 に始まります。開始日が正しく設定されていない理由がわかりません。私が間違っていることは何ですか?誰か助けてくれませんか?