mysql utc时间_MySQL可以将存储的UTC时间转换为本地时区吗?

MySQL是否可以在普通的select语句中直接将存储的UTC时间转换为本地时区时间?

假设您有一些带有时间戳(UTC)的数据。

CREATE TABLE `SomeDateTable` (

`id` int(11) NOT NULL auto_increment,

`value` float NOT NULL default '0',

`date` datetime NOT NULL default '0000-00-00 00:00:00',

PRIMARY KEY (`id`)

)

那当我

"select value, date from SomeDateTable";

我当然会以存储的UTC形式获取所有日期。

但是,假设我想将它们设置在另一个时区(使用DST),然后可以向选择查询添加一些魔术,以便使所有日期恢复为所选时区吗?

"select value, TIMEZONE(date, "Europe/Berlin") from SomeDateTable";

还是我必须在顶部的其他某些层(例如某些php代码)中执行此操作?(这似乎是大多数人解决此问题的方式)。

谢谢约翰

如果您的MySQL安装允许您使用CONVERT_TZ,那么这是一个非常干净的解决方案,这个例子展示了如何使用它。

SELECT CONVERT_TZ( '2010-01-01 12:00', 'UTC', 'Europe/Stockholm' )

但是我不知道这是否是一个好方法,因为某些MySQL安装缺少此功能,请谨慎使用。

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页