utc转换成时间 mysql_使用MYSQL在服务器上将日期和时间从UTC转换为客户端的本地时间...

我有一个查询产生这样的结果:

tgLbq.png

数据按日期DESC排序,然后按时间DESC排序,同时还将常用的'markers_name'元素分块在一起。 (他们只在每个日期分组在一起)。

为此,我为conditions中的(markers_id, date)的每个组合获取MAX(time)值的列表,然后将该列表加入到我从当前查询获得的行集中,并使用MAX(time)值进行排序:

SELECT

m.name AS markers_name,

c.time AS conditions_time,

c.date AS conditions_date,

s.name AS station_name

FROM markers m

INNER JOIN conditions c ON c.markers_id = m.id

INNER JOIN station s ON c.station_id = s.id

INNER JOIN (

SELECT

markers_id,

date,

MAX(time) AS time

FROM conditions

GROUP BY

markers_id,

date

) mx ON c.markers_id = mx.markers_id AND c.date = mx.date

ORDER BY

c.date DESC,

mx.time DESC,

m.name DESC,

c.time DESC日期和时间作为UTC时间存储在MySQL数据库中。客户端使用javascript将日期和时间转换为本地时区。相反,我想用php和MySQL在服务器上进行转换。任何人都可以提供任何建议,我可以用MySQL查询(或者用php和MySQL)来完成这个任务吗?

客户端使用ajax从服务器请求这些数据,所以我可以使用javascript方法getTimezoneOffset()轻松地在查询中包含时区偏移量。

日期使用此代码使用单独的日期和时间字段存储在数据库中:

// convert timestamp to seconds

// time is provided by client as the number of milliseconds since January 1, 1970 00:00:00 UTC.

$utc_timestamp = trim($_POST['utc_timestamp']);

date_default_timezone_set('UTC');

$utc_timestamp = $utc_timestamp/1000;

$time = date("H:i:s",$utc_timestamp);

$date = date("Y:m:d",$utc_timestamp);如果有必要,我可以存储$ utc_timestamp而不是$ time和$ date,但改变我存储数据的方式有点可怕。

提前致谢....

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值