时区的 MySQL 格式说明符

标签 mysql sql

我正在尝试按以下格式将一些时间戳输入到 MySQL 数据库中:Sun May 26 23:57:58 CEST 2013

我正在考虑使用 STR_TO_DATE,但不确定如何处理时间戳中的时区,因为我找不到正确的格式说明符。目前我遇到以下问题:

SELECT STR_TO_DATE('Sun May 26 23:57:58 CEST 2013','%a %b %d %H:%i:%s');  

有谁知道我该如何解决这个问题?

谢谢

最佳答案

如果您确定您输入的时间是必需的时区,只需连接时区

SELECT concat(STR_TO_DATE('Sun May 26 23:57:58 CEST 2013','%a %b %d %H:%i:%s') ,' ',@@system_time_zone); 

输出

0000-05-26 23:57:58 CEST

下面我已经将您的时区转换为所需的时区。

SELECT concat(date_format(convert_tz('Sun May 26 23:57:58 CEST 2013','+00:00','+10:00'),'%a %b %d %H:%i:%s') ,' ',@@system_time_zone); 

输出

0000-05-26 23:57:58 CEST

关于时区的 MySQL 格式说明符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16796815/

相关文章:

mysql - 如何长时间存储点击次数/天?

MySQL 幻影表

MySQL 错误 : #1005 - Can't create table (errno: 150) When I try create more than 1 FK

mysql - 获取数据(如果数据可用或不可用)

mysql - SQL查询: How to validate the prerequisite for courses that finished and how to find time conflict of courses?

mysql - SQL 多表查询

sql - 在 SQL Server 中将天数转换为完整日期

sql - 在 where in 子句中返回所有结果 (Sql Server)

sql - 根据 Knex 中的列仅选择不同的行

sql - 外键引用主键包含 2 列的表