- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在运行 MYSQL 4.1 数据库,该数据库存储我们在欧洲运营的办事处的调用中心数据。
我的 MYSQL 数据库位于 Windows 2003 服务器上,该服务器的时区设置为欧洲中部时间,该时间会自动调整为夏令时。
我希望能够生成一份报告,向我们在欧洲的客户显示正确时区的日志日期和时间。
我的数据库将调用的日志日期/时间存储为 unix 时间戳。因此,日期存储为 UTC。我发现 MYSQL 函数可以轻松地将日志日期时间调整为您选择的时区。
它叫做CONVERT_TZ。 (更多信息:http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_convert-tz)
示例:SELECT CONVERT_TZ('2004-01-01 12:00:00','UTC','CET');
我尝试将此应用于记录在 01-06-2013 22:12 的电话
CONVERT_TZ(FROM_UNIXTIME(o.logdatex), 'UTC','CET') 'CET_L_DATETIME'
(logdatex 是调用记录时的 unxtimestamp)
令我困惑的是,声明返回 - 2013-06-02 00:12:56。
我想看看当我刚刚选择 FROM_UNIXTIME(o.logdatex)
它返回了正确的时间! 2013-06-01 22:12:56(此电话是从我们的阿姆斯特丹办公室记录的)
我的问题是,FROM_UNIXTIME 函数是否会根据 MYSQL 服务器设置的时区自动调整 UTC 时间?我找不到任何说明它的文档。
最佳答案
我的假设是因为当您执行 FROM_UNIXTIME(o.logdatex)
时,您从 UTC 转换为服务器的时区。现在你约会不在 UTC 时区。因此,在 CONVERT_TZ(FROM_UNIXTIME(o.logdatex), 'UTC','CET')
中,您不是从“UTC”而是从您服务器的时区进行转换,因此您会得到一个奇怪的结果。尝试选择 FROM_UNIXTIME(o.logdatex)
作为查询中的单独字段并比较结果。
关于mysql - 关于 FROM_UNIXTIME 的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17900990/
函数:FROM_UNIXTIME 作用:将MYSQL中以INT(11)存储的时间以"YYYY-MM-DD"格式来显示。 语法:FROM_UNIXTIME(unix_timesta
我看过足够多的帖子,我们除以 1000 或强制转换以将毫秒纪元时间转换为时间戳。我想知道我们如何在时间戳中也保留毫秒部分。 1440478800123 最后 3 个字节是毫秒。我如何将其转换为类似 Y
我们在 Hive 中存储了一个时间戳纪元列 (BIGINT)。我们想要获取该纪元的日期“yyyy-MM-dd”。问题是我的纪元以毫秒为单位,例如1409535303522。因此,选择时间戳,from_
我有这个 SELECT COUNT(1) cnt, a.auther_id FROM `posts` a LEFT JOIN users u ON a.auther_id = u.id
我有一个查询,在其他字段中返回截止日期和截止日期。有时这些字段会为空,因此,当像这样转换时: FROM_UNIXTIME(assignment.cutoffdate, '%d-%m-%Y %H:%i
我有一个非常简单的需求:将一些毫秒值转换为“##:##:##”(小时/分钟/秒)格式。 看起来 FROM_UNIXTIME 可以完成这项工作,所以我使用了它,但是...... SELECT F
我的任务是优化以下查询。 select c.account_key, c.cohort, date(concat(year(from_unixtime(min(f.processdate_est_ke
FROM_UNIXTIME 是否会严重影响如下查询的性能: ( (calltasks.task_dueDate = '".$date."') # Tasks o
我有 2 个格式化为 DATETIME 的 PHP 变量,但该列采用 UNIX 时间戳。我如何正确地对它们进行 BETWEEN 操作? $date_from 和 $date_to 采用 DATETIM
将 0x00000009 转换为 1970-01-01-00:00:09 的最佳方法是什么? 我试过 FROM_UNIXTIME 但它返回 1969-12-31 22:00:09。 来自 http:/
我正在运行 MYSQL 4.1 数据库,该数据库存储我们在欧洲运营的办事处的调用中心数据。 我的 MYSQL 数据库位于 Windows 2003 服务器上,该服务器的时区设置为欧洲中部时间,该时间会
我一直在尝试将出生日期从我的数据库转换为 DATE FORMat,但我面临的问题是 DOB 字段中有一些负值,当我从在线 FROM_UNIXTIME 计算器中检查时,它会给出不同的结果,如果我检查它与
这是我正在运行的 SQL 查询: string theQuery = "UPDATE readings SET chng = 1, time = FROM_UNIXTIME("; theQuery +
如果我运行以下 SQL,该行将消失: update t set ts = from_unixtime(13933210) where id = 3978947 字段配置为: `pollTs` ti
我一直在尝试将数据库中的出生日期转换为日期格式,但我面临的问题是 DOB 字段中有一些负值,当我从在线 FROM_UNIXTIME 计算器检查时,它会给出不同的结果,如果我检查如果使用 FROM_UN
我尝试使用以下查询来吐出日期范围内的每一天,并显示潜在客户、分配和返回的数量: select date_format(from_unixtime(date_created), '%m/%d/%Y')
我怎样才能得到 FROM_UNIXTIME 作为 mysql 中的 UTC/GMT?日期以连接的时区返回。 我不想更改连接的时区。 最佳答案 您最好提前设置时区: SET time_zone='UTC
这对你来说很简单。我有一个查询返回表中的所有信息,但日期都是 Unix 时间戳,我需要转换这一列。 这是我的 2 个字符串,我只需要知道如何将它们链接在一起: 查询1: SELECT * FROM `
我有以下 SQL: FROM_UNIXTIME(1392354000) 当我在插入语句中将其插入数据库时,保存的值是: 2014-02-13 19:00:00 但是,这是不正确的,因为它应该是这样
WEEK(FROM_UNIXTIME(1525212000)) 给出的结果是 17,但它应该是 18 这是 MySQL 中的错误还是我做错了什么? mysql 版本 14.14 分发 5.7.18 示
我是一名优秀的程序员,十分优秀!