如何使用UTC格式的CURRENT_TIMESTAMP和NOT LOCALTIME保存MYSQL数据库中的记录?

时间:2017-11-11 09:56:45

标签: mysql datetime xampp utc

将列保存为'created_date'的记录,其中CURRENT_TIMESTAMP应为UTC时间而非本地时间

2 个答案:

答案 0 :(得分:2)

UTC_TIMESTAMP()函数

在MySQL中,UTC_TIMESTAMP将当前UTC日期和时间作为YYYY-MM-DD HH:MM:SS或YYYYMMDDHHMMSS.uuuuuu格式的值返回,具体取决于函数的用法,即在字符串或数字上下文中。

注意:由于UTC_TIMESTAMP()适用于当前日期时间,因此您的输出可能会与显示的输出不同。

语法: UTC_TIMESTAMP; UTC_TIMESTAMP()

代码: SELECT UTC_TIMESTAMP,UTC_TIMESTAMP();

示例输出:

 mysql> SELECT UTC_TIMESTAMP,UTC_TIMESTAMP();
+---------------------+---------------------+
| UTC_TIMESTAMP       | UTC_TIMESTAMP()     |
+---------------------+---------------------+
| 2015-04-14 22:52:11 | 2015-04-14 22:52:11 | 
+---------------------+---------------------+
1 row in set (0.01 sec)

答案 1 :(得分:1)

我的解决方案是触发器:

DELIMITER //
CREATE TRIGGER `update_to_utc` BEFORE INSERT ON `my_table` FOR EACH ROW BEGIN
set new.my_field=utc_timestamp();
END//
DELIMITER ;