我正在使用 php 开发一个 API,我只是将查询结果作为 JSON 字符串发送出去。结果是多个表的组合。然而,其中一个领域是时间。我需要根据来自不同表的时区设置将其转换为不同的时区。
这是当前的输出:
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 字段的不同表中。根据这些默认设置的 start_time 和 end_time,应将其转换为各自的时区。
我最初计划编写一个 MySQL 函数来从查询本身计算这个,这样 JSON 格式/字段就不会改变。但我看到,与 PHP 函数相比,它的速度太慢了。
根据您的经验,您有什么建议?- 有没有办法在查询中简单地计算?- MySQL 函数的性能是否优于 PHP?- 如果我需要使用 php 函数,我需要遍历所有记录来计算这个。不确定我是否需要单独提取时区记录。因为我不想更改 JSON 响应中的格式/字段数。
还有其他更好的方法吗?