Преобразование строки в объект даты и времени в Python (GAE)? - PullRequest
2 голосов
/ 05 сентября 2011

Я очень плохо знаком с Python, но мне нужно перенести проект с PHP на Python (работающий в среде GAE), и мне нужно переместить все данные из одной базы данных в одну из GAE.Челлендж - это запись строк данных в объекты datetime.Даты хранятся в виде строк, которые были созданы с использованием PHP-шаблона «l dS of FY (h: i: s A)», поэтому каждая дата выглядит следующим образом: воскресенье, 31 июля 2005 г. (02:05:50 PM)

Я посмотрел в документации по Python по этому вопросу, и я вижу, что datetime.strptime может сделать эту работу, но ... У него нет параметров для "th", "rd" и "окончание.И может быть, есть и другие проблемы.

Что бы вы мне посоветовали?Я могу использовать RegExp и удалить всю ненужную хрень, или есть какой-нибудь способ создать объект datetime из такой строки напрямую?

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

1 Ответ

3 голосов
/ 05 сентября 2011

Если вы можете использовать dateutil с GAE, тогда

In [70]: import dateutil.parser as parser
In [71]: parser.parse('Sunday 31st of July 2005 ( 02:05:50 PM )',fuzzy=True)
Out[71]: datetime.datetime(2005, 7, 31, 14, 5, 50)

В противном случае вам придется полагаться на re, чтобы манипулировать строкой даты в формате, который может анализировать strptime.

In [89]: datetime.datetime.strptime(re.sub(r'\w+ (\d+)\w+ of(.+)\s+\( (.+) \)',r'\1 \2 \3','Sunday 31st of July 2005 ( 02:05:50 PM )'),'%d %B %Y %I:%M:%S %p')
Out[89]: datetime.datetime(2005, 7, 31, 14, 5, 50)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...