php datetime не может соответствовать моим сохраненным данным базы данных - PullRequest
0 голосов
/ 20 февраля 2019

Здесь я выбираю дату: 21 февраля, 2019

$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 базы данных.Но это не могло сравниться.

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Проверьте часовой пояс сервера и часовой пояс mysql, если он находится на другом сервере.

Во всех моих php я устанавливаю свой часовой пояс на основе своего местоположения, определенного вместо одного из серверов.Это устранит путаницу, если разместить мой сервер в другом часовом поясе.А также может быть расширен / обновлен, чтобы принять часовой пояс пользователя при необходимости.

<?php

date_default_timezone_set('America/New_York');

?>
0 голосов
/ 20 февраля 2019

Я просто использую $datetime->setTime(-5, 0, 0);, чтобы решить эту проблему.

...