php 日期时间与我保存的数据库数据不匹配
php datetime couldn't match to my saved database data
这里我select一个日期: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
结果是 1550703600
(February 21, 2019 5:00:00 AM
) 但在我的数据库中它被保存 1550685600
(February 21, 2019 12:00:00 AM
) 两个值是不同的。
我想获取 1550685600
数据库日期时间值。但它无法匹配。
我只是用 $datetime->setTime(-5, 0, 0);
来解决这个问题。
验证服务器时区和 mysql 时区(如果在不同的服务器上)。
在我所有的 php 中,我根据我定义的位置而不是服务器之一来设置时区。如果将我的服务器托管在另一个时区,这将消除混乱。如果需要,也可以 expanded/upgrade 接受用户时区。
<?php
date_default_timezone_set('America/New_York');
?>
这里我select一个日期: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
结果是 1550703600
(February 21, 2019 5:00:00 AM
) 但在我的数据库中它被保存 1550685600
(February 21, 2019 12:00:00 AM
) 两个值是不同的。
我想获取 1550685600
数据库日期时间值。但它无法匹配。
我只是用 $datetime->setTime(-5, 0, 0);
来解决这个问题。
验证服务器时区和 mysql 时区(如果在不同的服务器上)。
在我所有的 php 中,我根据我定义的位置而不是服务器之一来设置时区。如果将我的服务器托管在另一个时区,这将消除混乱。如果需要,也可以 expanded/upgrade 接受用户时区。
<?php
date_default_timezone_set('America/New_York');
?>