私のMySQLデータベースには、YYYY-MM-DDや時刻00:00:00のような日付形式のイベントがあります。 私のSELECTクエリがdbaseからの時間、タイムゾーンと真夜中
$STH_1 = $DBH->query("SELECT table_name
FROM information_schema.tables
WHERE table_name
LIKE 'v_c_ei\_9%'");
$stmts_1 = array();
foreach($STH_1 as $row_1) {
$stmts_1[] = sprintf("SELECT *
FROM %s
WHERE date='%s'", $row_1['table_name'], $date);
}
$stmt_1 = implode("\nUNION\n", $stmts_1);
$stmt_1 .= "\nORDER BY time ASC";
$STH_5_2 = $DBH->query($stmt_1);
のように見える日付変数は、YYYY-MM-DDのような典型的な日付形式です。
F.ex. DATEと時刻23:30:00(すべての時間UTC)にイベントがあります。そして、私は別のタイムゾーン(f.ex. + 1.00)からの1人のユーザーを持っています。彼の場合、システムはDATEと時刻23:30:00ではなく、DATE + 1と時刻00:30:00のイベントを表示する必要があります。しかし、現時点では、このイベントはDATEと時刻00:30:00(日付ではなく時間のみが変更されます)で表示されます。
表示されるすべての受信イベントは、00:00:00から23:59:59の時間を持つ1つのDATEからのみでなければなりません。
ユーザーのタイムゾーンとの相関を使用して正しい日時を受け取るには(メインのSELECTクエリで)多分変更する必要がありますか?
'TIMESTAMP'と' DATETIME'/'DATE' /' TIME'フォーマットの違いは分かりますか? – Tadeck
私が書いたように、私は日付(形式はYYYY-MM-DD)と時刻(形式は00:00:00)で、TIMESTAMPは使用しません。 – Andrew
この情報は、アプリケーションを通じて問題のユーザーに提供されていますか? –