Как преобразовать MySQL вставленное время в местное время пользователя с помощью PHP? - PullRequest
0 голосов
/ 22 сентября 2018

Я хочу вставить текущую дату и время в MySQL, используя php.Я не хочу устанавливать часовой пояс в моем файле init.php, поскольку это не мое требование заставлять пользователя устанавливать часовой пояс каждый раз или один раз.

Я делаю это:

echo "Today is " . date("d/m/Y") . "<br>";
echo "Time is " . date("g:m a") . "<br>";
$sys_timestamp = strtotime(exec("date"));
echo sys_timestamp;

Я пытался СЕЙЧАС (), но это также не решает мою проблему.Я также пробовал systime (), time ().

Я пытался исправить, как показано ниже, но он испортил все время.

 date_default_timezone_set('Europe/Helsinki');
 $updated_date = date("d-m-Y");
 echo $updated_date;

 $updated_time = date("g:i a");
 echo $updated_time;

Не хочу, чтобы выше решения.Я хочу отправить общую дату и время на сервер для всего сайта, и я хочу, чтобы когда пользователь проверял дату и время, дата и время автоматически конвертировали его в местное время, используя php.Преобразование времени из вставленного в MySQL времени в местное время и дату пользователя.

Пожалуйста, подскажите, что я делаю неправильно.

Ответы [ 2 ]

0 голосов
/ 22 сентября 2018

Измените свой столбец
см. Этот Sceenshot


Когда вы вставляете данные в таблицу, столбец автоматически заполняет также текущую дату и время.

0 голосов
/ 22 сентября 2018

Синхронизирует время в часовом поясе сеанса SQL с тем, что php часового пояса в настоящее время установлен в.В противном случае сеанс php и сеанс sql будут работать в разных часовых поясах, если вы просто измените php.

date_default_timezone_set('Europe/Helsinki');

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$now = new DateTime();
$mins = $now->getOffset() / 60;
$sgn = ($mins < 0 ? -1 : 1);
$mins = abs($mins);
$hrs = floor($mins / 60);
$mins -= $hrs * 60;
$offset = sprintf('%+d:%02d', $hrs*$sgn, $mins);

$sql = "SET time_zone='".$offset."';"; 
$stmt = $conn->prepare($sql);
$stmt->execute();
$stmt->close();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...