我在 mysql 中运行了这个语句,它在每一行都返回 null:
SELECT STR_TO_DATE('Fri, 22 Jun 2012 03:35:24 +0000', '%a, %e %b %Y %H:%i:%s %%%%%%%%%%') FROm t2;
我不知道+0000
. 应该是什么?
+0000 是时区偏移量。
mySQL 不理解时区的概念,显然也不理解STR_TO_DATE
: 日期/时间格式占位符列表根本没有提到时区。
如果您希望日期来自不同的时区,那么仅借助 mySQL 似乎无法解决。您必须在其他地方预处理日期以将其转换为始终为UTC(或您的本地时区,无论适用)的日期,或者如果它已经始终为 UTC,ManseUK 的建议(添加+0000
到您的格式字符串以便 mySQL 忽略它)应该工作。