如何将非标准化字符串日期时间转换为 MySQL 日期时间?

How do I convert a non-standardized string datetime to MySQL datetime?

帮忙?

使用 Amazon Seller Central 的 API 时,每个订单 returns 日期格式如下:

2018-09-01 06:40 PM PDT

我想将其转换为 MySQL 友好的格式,例如:

2018-09-01 18:40:00

如何使用 MySQL 查询在暂存 table 中更新这些值?

提前致谢!

您可以使用 STR_TO_DATE 将字符串转换为有效的 MySQL 日期格式。

SELECT STR_TO_DATE(SUBSTRING('2018-09-01 06:40 PM PDT', 1, 19), '%Y-%m-%d %l:%i %p') AS date;

如果你也想转换时区,你可以使用CONVERT_TZ

SELECT 
CONVERT_TZ(
    STR_TO_DATE(SUBSTRING('2018-09-01 06:40 PM PDT', 1, 19), '%Y-%m-%d %l:%i %p'),
    'PST8PDT', -- Note: PDT is not a valid MySQL timezone
    'UTC'
) AS date