Как мне преобразовать нестандартную строку datetime в MySQL datetime?

Помогите?

При использовании API Amazon Seller Central каждый заказ возвращает дату в следующем формате:

2018-09-01 18:40 PDT

Я хотел бы преобразовать его в дружественный MySQL формат, такой как:

2018-09-01 18:40:00

Как я могу обновить эти значения в моей промежуточной таблице с помощью запроса MySQL?

Заранее спасибо!

1 ответ

Решение

Ты можешь использовать 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
Другие вопросы по тегам