0

所以正如标题所说,当我从 mysql 转到我的 javascript 时,我一直失去一天,我无法弄清楚。当您插入数据库时​​,您损失了一天(假设我输入 10/14/12,数据库将读取 10/13/12),当我从数据库中读取时,我也损失了一天(我获取 10/13 /12 现在显示为 10/12/12)。

这是我的过程:

//date input from jquery ui datepicker       
$('#datepicker'+p).datepicker({numberOfMonths: 3, showButtonPanel: true, dateFormat: "D, d M, yy"});

//date sent to php to upload to mysql so there is a format conversion
$start = date("Y-m-d", strtotime($startdate));

现在开始下载:

 //date taken from mysql no modifications

//date modified to be sent to viewer in a nicer format
var start = $.datepicker.formatDate('D, d M, yy', new Date (item.start));

我的想法:问题似乎是双向发生的,我很确定我的 javascript 不是问题,因为只有 php 转换一种方式似乎可以排除这两种情况。这可能是我的mysql服务器的问题吗?另请注意,日期在 mysql 中保存为类型 DATE!

//as requested my sql code
 INSERT INTO classdates (start, end, hours, days, off, notes, type, branch) VALUES(:start, :end, :hours, :days, :off, :notes, :type, :branch)
4

2 回答 2

2

我发现我的问题是 javascript new Date() function。它不仅是转换日期,而且是操纵它。我不得不适应时区的变化。

于 2012-10-14T07:34:07.563 回答
1

您可以在客户端(javascript)将日期转换为 unixtime,然后将其插入FROM_UNIXTIMESTAMP()到 mysql 表中。它将允许您安全地将 clent 的时间转换为服务器时间。

于 2012-10-14T06:50:59.443 回答