В настоящее время у меня есть приложение fullcalendar, которое я настроил с помощью PHP и MYSQL (AWS RDS).
Время начала и окончания события хранится в базе данных в виде строк вида Fri Mar 29 2019 09:00:00 GMT-0700 (Pacific Daylight Time)
, которые берутся из свойств event.start
и event.end
.
Затем они загружаются с помощью load.php (вызывается events: load.php
), который выглядит так:
<?php
include 'dbconfig.php';
$conn = $dbConnection;
$query = "SELECT * FROM Events ORDER BY id";
$statement = $conn->prepare($query);
$statement->execute();
$data = $statement->fetchAll();
$results = array();
foreach($data as $row) {
$results[] = array(
'id' => $row["id"],
'title' => $row["title"],
'resourceId' => $row["resource"],
'start' => $row["start_event"],
'end' => $row["end_event"]
);
}
echo json_encode($results);
В этот момент они отображают; однако они всегда отображаются на 7 часов раньше, чем должны (например, 09:00:00
превращается в 16:00:00
).
Я предполагаю, что это связано с тем, что когда данные поступают из базы данных, часовой пояс каким-то образом игнорируется, но когда я меняю часовой пояс с помощью timezone: 'UTC'
, ничего не происходит.
Любая помощь/предложения будут оценены, и спасибо!
start_event
иend_event
? - person Nick   schedule 30.03.2019DateTime
. Вы также можете использовать это для преобразования данных на выходе. Является лиFri Mar 29 2019 09:00:00 GMT-0700 (Pacific Daylight Time)
точным форматом ваших строк? - person Nick   schedule 30.03.2019