phpを使用してAPIを開発しており、クエリ結果をJSON文字列として送信しています。結果は、複数のテーブルの組み合わせです。ただし、フィールドの1つは時間です。別のテーブルのタイムゾーン設定に基づいて、これを別のタイムゾーンに変換する必要があります。
現在の出力は次のとおりです。
Array ( "Show_name" => "Billards",
"Show_type" => "Movie",
"Start_Time" => "2011-11-09 07:00:00",
"End_Time" => "2011-11-09 09:00:00",
"Open" => "Yes"
);
開始時刻と終了時刻は、デフォルトですべてのレコードのESTにあります。タイムゾーン設定は、フィールドTimezone_ID、GMT_offset、DST_offsetを持つ別のテーブルに保存されます。これらの設定に基づいて、デフォルトでestであるstart_timeとend_timeをそれぞれのタイムゾーンに変換する必要があります。
私は当初、クエリ自体からこの権利を計算するMySQL関数を作成することを計画していました。そうすれば、JSON形式/フィールドは変更されません。しかし、PHP関数に比べると遅すぎます。
あなたの経験に基づいて何を提案しますか?-クエリで簡単に計算する方法はありますか?-MySQL関数はPHPよりもパフォーマンスが優れていますか?-php関数を使用する必要がある場合は、これを計算するためにすべてのレコードをループする必要があります。タイムゾーンレコードを個別に取得する必要があるかどうかわかりません。JSON応答のフィールドの形式/数を変更したくないためです。
他のより良い方法はありますか?