【发布时间】:2013-10-18 17:31:56
【问题描述】:
我正在创建一个基于 JavaScript 的日历,使用 full-calendar.js 作为主干。
因此,在其他将新的event 插入 MySQL 数据库中时,我有以下代码 sn-p:
$.post("http://localhost/calendar/index.php/calendar/insert_event",
{
title : title,
start : start,
end : end,
allDay : allDay,
url : ''
},
function(answer) {
console.log(answer);
}
);
start 和 end 日期只是 Date() 对象:
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 和 end 是 MySQL 表中的 DATETIME 类型,其中列具有上述相同类型。
当我使用CodeIgniter's Active Record 函数执行insert 时,它会插入到表中而没有进一步的问题。但是,当我查看 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 数据库中正确插入?
【问题讨论】:
-
原谅我,我错了,
strtotime效果不好 :) 只需将 Date 对象转换为 mysql 日期时间字符串。 Example -
之前已经做过了,看看这个帖子:stackoverflow.com/a/13452892/2131277
标签: javascript php mysql codeigniter