1

full-calendar.js をメイン バックボーンとして使用して、JavaScript ベースのカレンダーを作成しています。したがってevent、MySQL データベースに新しいものを挿入するには、次のコード スニペットを使用します。

$.post("http://localhost/calendar/index.php/calendar/insert_event", 
      { 
        title  : title,
        start  : start,
        end    : end,
        allDay : allDay,
        url    : ''
      }, 
      function(answer) {
        console.log(answer);
      }
); 

と日付は単純startなオブジェクトです。endDate()

var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();

コントローラーではcalendar.php、次の出力が得られます。

{"title":"lunch",
 "start":"Tue Oct 08 2013 08:00:00 GMT-0700 (Pacific Standard Time)",
 "end":"Tue Oct 08 2013 08:30:00 GMT-0700 (Pacific Standard Time)",
 "allDay":"false",
 "url":""}

startおよびendDATETIME、列が上記と同じタイプを持つ MySQL テーブルのタイプです。Active Record 関数insertを使用すると、問題なくテーブルに挿入されます。CodeIgniter'sただし、MySQLデータベースを見て出力を確認すると、次のように表示されます。

mysql> select * from calendar_utility;
+----+-----+-------+---------------------+---------------------+--------+
| id | url | title | start               | end                 | allday |
+----+-----+-------+---------------------+---------------------+--------+
|  1 |     | lunch | 0000-00-00 00:00:00 | 0000-00-00 00:00:00 |      0 |
+----+-----+-------+---------------------+---------------------+--------+
1 row in set (0.00 sec)

JavaScript Date()MySQL db に正しく挿入されるようにフォーマットを修正するにはどうすればよいですか?

4

1 に答える 1

5

おそらく、次のように JSDateオブジェクトを MySQLDATETIME形式に準拠する文字列に変換します。

$.post("http://localhost/calendar/index.php/calendar/insert_event", 
      { 
        title  : title,
        start  : start.getFullYear() + "-" + (start.getMonth()+1) + "-" + start.getDate() + " " + start.getHours() + ":" + start.getMinutes() + ":" + start.getSeconds(),
        end    : end.getFullYear() + "-" (end.getMonth()+1) + "-" + end.getDate() + " " + end.getHours() + ":" + end.getMinutes() + ":" + end.getSeconds(),
        allDay : allDay,
        url    : ''
      }, 
      function(answer) {
        console.log(answer);
      }
); 
于 2013-10-10T19:39:26.053 に答える