Если вы используете модуль MySQLdb
(также известный как «mysql-python»), для любого поля даты и времени вы можете указать тип datetime
вместо строки. Этот тип также возвращается и является предпочтительным способом предоставления значения.
Для Python 2.5 и выше вы можете сделать:
from datetime import datetime
value = datetime.strptime(somestring, "%d/%m/%Y")
Для более старых версий python это немного более многословно, но на самом деле не является большой проблемой.
import time
from datetime import datetime
timetuple = time.strptime(somestring, "%d/%m/%Y")
value = datetime(*timetuple[:6])
Различные строки формата взяты непосредственно из того, что принято вашей C-библиотекой. Посмотрите man strptime
в Unix, чтобы найти другие приемлемые значения формата. Не все форматы времени являются переносимыми, но большинство основных форматов.
Примечание значения даты и времени могут содержать часовые пояса. Я не верю, что MySQL точно знает, что с ними делать. Даты, которые я делаю выше, обычно считаются «наивными». Если часовые пояса важны, рассмотрите что-то вроде библиотеки pytz
.