Преобразовать строку в DateTime для MySQL в Python - PullRequest
0 голосов
/ 27 августа 2018

Я хочу преобразовать мою дату в объект DateTime для MySQL.

Мой формат строки: Mon Aug 27 04:47:45 +0000 2018 Ожидаемый результат: 'YYYY-M-D H:mm:ss'

Ответы [ 3 ]

0 голосов
/ 27 августа 2018

Если вы используете Python 3, это решение будет работать -

from datetime import datetime
x = 'Mon Aug 27 04:47:45 +0000 2018'
x = datetime.strftime(datetime.strptime(x, '%a %b %d %I:%M:%S %z %Y'), '%Y-%m-%d %H:%M:%S')
# OP '2018-08-27 04:47:45'

Но для Python 2 вы можете получить ValueError: 'z' is a bad directive....В этом случае вам придется использовать что-то вроде pytz или dateutil .Таблицу, в которой вам нужно найти все эти преобразования, можно найти здесь

Редактировать : вы не можете получить Expected Output: 'YYYY-M-D H:mm:ss', если преобразуете строку даты и времени вобъект datetime.Объект Datetime имеет свой собственный формат.Выше дает string формата, который вы хотите

0 голосов
/ 27 августа 2018
from datetime import datetime
t = datetime.strptime('Mon Aug 27 04:47:45 +0000 2008', '%a %b %d %H:%M:%S %                                                                                                             z %Y')
t.strftime('%Y-%m-%d %H:%M:%S')

См. Раздел 8.1.8 здесь

0 голосов
/ 27 августа 2018
from datetime import datetime
date_as_dt_object = datetime.strptime(dt, '%a %b %d %H:%M:%S %z %Y')

Вы можете использовать date_as_dt_object в необработанном запросе или ORM.Если используется в необработанном запросе, передайте его в виде строки вроде:

query = "select * from table where date >" + str(date_as_dt_object)

Проверьте этот список для директив Python strftime.http://strftime.org/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...