Php 在日期转换方面似乎损失了一天

Php 在日期转换方面似乎损失了一天,php,javascript,mysql,date,time,Php,Javascript,Mysql,Date,Time,因此,正如标题所说,我从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,

因此,正如标题所说,我从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)

您可以在客户端将日期转换为unixtime(javascript),然后使用
从\u UNIXTIMESTAMP()
插入mysql表。它将允许您安全地将clent的时间转换为服务器时间。

您可以在客户端将日期转换为UnixtTime(javascript),然后使用
从\u UNIXTIMESTAMP()
插入mysql表。它将允许您安全地将clent的时间转换为服务器时间。

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

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

您还没有展示如何将日期插入或获取到MySQL中。好的,我更新了我的问题。这也发生在从MySQL到MySQL的过程中,因此这不是插入问题。您运行的是什么类型的服务器?您需要进一步验证服务器设置的日期时间。在Ubuntu(和其他*nix服务器)中,您可以从命令行执行“日期”操作。我最近遇到了一个问题,ntp没有同步我的服务器时间。这也可能是一个时区问题。你还没有展示如何将日期插入或获取到MySQL。好的,我更新了我的问题。这也发生在访问MySQL的过程中,因此不可能是插入问题。你正在运行什么类型的服务器?您需要进一步验证服务器设置的日期时间。在Ubuntu(和其他*nix服务器)中,您可以从命令行执行“日期”操作。我最近遇到一个问题,ntp没有同步我的服务器时间。这也可能是一个时区问题。从服务器到客户端如何解决这个问题?这真的是失去两天的问题吗?在取回时,丢失的一天不是会被恢复或至少保持吗?为什么我在抓取的时候会损失额外的一天?我只能说-如果你操作unixtime-你是安全的,如果你操作rfc-2822格式的date,你也是安全的,在任何其他情况下,当你处理date时,这可能是绝对意外的结果。从服务器到客户端如何解决这个问题?这真的是失去两天的问题吗?在取回时,丢失的一天不是会被恢复或至少保持吗?为什么我在抓取的时候会损失额外的一天?我只能说——如果你操作unixtime——你是安全的,如果你操作rfc-2822格式的date,你也是安全的,在任何其他情况下,当你处理date时,这可能是绝对意外的结果