php datetime与我保存的数据库数据不匹配

时间:2019-02-20 10:51:46

标签: php sql database datetime strtotime

我在这里选择日期:2019年2月21日

$ri_arrival_date = $_POST["ri_arrival_date"];
$arvl_date = strtotime($ri_arrival_date);
$arvl_date = date('d M,Y',$arvl_date);
$check_in_date = $ri_arrival_date;
$datetime = new DateTime($arvl_date);
$datetime->setTime(0, 0, 0);
$arvl_date = $datetime->getTimestamp();
echo $arvl_date;

echo的结果是1550703600February 21, 2019 5:00:00 AM),但是在我的数据库中,它被1550685600February 21, 2019 12:00:00 AM)保存了两个值。

我想获取1550685600数据库的DateTime值。但它无法匹配。

2 个答案:

答案 0 :(得分:0)

我只是使用$datetime->setTime(-5, 0, 0);来解决此问题。

答案 1 :(得分:0)

验证服务器时区和mysql时区是否在其他服务器上。

在我所有的php中,我根据定义的位置而不是服务器之一来设置我的时区。如果将我的服务器托管在另一个时区,这将消除混乱。如果需要,还可以扩展/升级以接受用户时区。

<?php

date_default_timezone_set('America/New_York');

?>