だから私はPHPページに表示したい毎日のイベントでいっぱいのデータベースを持っています. データベースに接続してテーブルにデータを入力しました - 問題ありません。次に、曜日を表示するリンクのリストを作成して、ユーザーがその日をクリックすると、その日に予定されているイベントがテーブルに入力されるようにします。
<ul id="day-list">
<li><a href="?eventDay=Monday">Monday</a></li>
<li><a href="?eventDay=Tuesday">Tuesday</a></li>
...etc etc... you get the idea.
</ul>
日のリストを設定する前のコードには、次のものがあります。
$theDay = isset($_GET['eventDay']) ? $_GET['eventDay'] : date('l', time())
// I've also tried date('l');
$data = $conn->query("SELECT * FROM 'my_table' WHERE 'event_day' = '$theDay';");
これは、ユーザーが選択した日、または $_GET['meetingDay'] が null/nil の場合は今日の日を選択することになっています。実際には機能しますが、午後 9 時 (私の時間) に次の日に切り替わることに気付きました。同じページの別の場所にdate('l')とdate('l', time())も書きましたが、正しい時刻が表示されます。$theDay 変数でこの問題が発生しています。
私はmysqlとphpのタイムゾーンを調べましたが、調査してもページに結果が得られませんでした(mysqlの「set time_zone」やphpの「date_default_timezone_set」など)。ここで何が起こっているか知っている人はいますか?