在这里我选择一个日期: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值。但是它无法匹配。
我只使用$datetime->setTime(-5, 0, 0);
解决此问题。
如果在其他服务器上,请验证服务器时区和MySQL时区。
在所有PHP中,我根据定义的位置而不是服务器之一设置了我的时区。如果将我的服务器托管在另一个时区上,这将消除混乱。并且可以扩展/升级以在需要时接受用户时区。
<?php
date_default_timezone_set('America/New_York');
?>