PHP日期时间错误
我对php date()函数有问题 当我在mysql数据库中保存日期时,小时数显示比当前时间少4小时 我的php代码如下:PHP日期时间错误,php,mysql,datetime,date,Php,Mysql,Datetime,Date,我对php date()函数有问题 当我在mysql数据库中保存日期时,小时数显示比当前时间少4小时 我的php代码如下:$add_date=date(“Y-m-dh:i:s”) 它将数据库中的时间节省为 2011-08-03 07:51:26 但这是我们应该展示的 2011-08-03 13:22:26 有人能告诉我怎么修吗 谢谢您必须设置一个有效的时区-您似乎没有在php环境中为您的位置设置合适的时区 退房 它应该为您提供如何在php中设置正确时区的线索。您必须设置一个有效的时区-似乎您没
$add_date=date(“Y-m-dh:i:s”)代码>
它将数据库中的时间节省为
2011-08-03 07:51:26
但这是我们应该展示的
2011-08-03 13:22:26
有人能告诉我怎么修吗
谢谢您必须设置一个有效的时区-您似乎没有在php环境中为您的位置设置合适的时区
退房
它应该为您提供如何在php中设置正确时区的线索。您必须设置一个有效的时区-似乎您没有在php环境中为您的位置设置合适的时区
退房
它应该为您提供如何在php中设置正确时区的线索。使MySQL服务器和web服务器的时区设置相同。使MySQL服务器和web服务器的时区设置相同。@Mujahid如果打印的时间和保存的时间相同,则可能意味着您的服务器不在php中和你一样的时区。话虽如此,您必须在文件顶部手动设置PHP脚本的默认时区,或者通过显式定义时区来获取日期时间。代码如下:
$dateTime = new DateTime("now", new DateTimeZone('America/Los_Angeles'));
$add_date = $dateTime->format("Y-m-d H:i:s");
echo $add_date;
下面是PHP支持的时区列表,只需找到您的时区并用它替换美国/洛杉矶
这里有一个关于PHP DateTime和DateTimeZone的好教程
希望这有帮助。祝你好运。@Mujahid如果打印的时间和保存的时间相同,可能意味着你的服务器与你不在同一时区。话虽如此,您必须在文件顶部手动设置PHP脚本的默认时区,或者通过显式定义时区来获取日期时间。代码如下:
$dateTime = new DateTime("now", new DateTimeZone('America/Los_Angeles'));
$add_date = $dateTime->format("Y-m-d H:i:s");
echo $add_date;
下面是PHP支持的时区列表,只需找到您的时区并用它替换美国/洛杉矶
这里有一个关于PHP DateTime和DateTimeZone的好教程
希望这有帮助。祝你好运。这将添加托管服务器时间,而不是本地时间
$add_date=日期(“Y-m-d H:i:s”)代码>
使用strotime()添加小时和分钟
$newdate=date(“Y-m-dh:i:s”,标准时间(“+5小时30分钟”。$row['db_date'])代码>这将添加托管服务器时间而不是本地时间
$add_date=日期(“Y-m-d H:i:s”)代码>
使用strotime()添加小时和分钟
$newdate=date(“Y-m-dh:i:s”,标准时间(“+5小时30分钟”。$row['db_date'])代码>当我运行此代码时,我得到:2011-08-03 08:24:27当我运行它时,我得到2011-08-03 04:33:02。有趣的是,时间总是在变化,在不同的时区不一样。当我运行此代码时,我得到:2011-08-03 08:24:27当我运行它时,我得到2011-08-03 04:33:02。有趣的是,时间在不断变化,在不同的时区不一样。你从哪里知道时间没有存储在varchar字段中?你怎么知道时间没有存储在BLOB中?你的问题没有建设性。对不起,我不想和你吵架。我想澄清与mysql的关系。我首先想到OP将PHP中的时间字符串添加到数据库中。但是我们刚刚发现了标签“datetime”。所以你的答案可能是正确的。你从哪里知道时间没有存储在varchar字段中?你怎么知道时间没有存储在BLOB中?你的问题没有建设性。对不起,我不想和你吵架。我想澄清与mysql的关系。我首先想到OP将PHP中的时间字符串添加到数据库中。但是我们刚刚发现了标签“datetime”。所以你的答案可能是正确的。@Mujahid这可能就是问题所在。在将日期值存储到MySql数据库之前,您应该尝试回显日期值,如果它们匹配,那么这肯定是时区问题。@Saad Imran:当我打印时间时,它只会给出相同的答案:(@Mujahid这可能就是问题所在。在将日期值存储到MySql数据库之前,您应该尝试回显日期值,如果它们匹配,那么这肯定是时区问题。@Saad Imran:当我打印时间时,它只会给我相同的答案:(