#python #pyodbc #python-dateutil
#python #pyodbc #python-dateutil
Вопрос:
Я пытаюсь преобразовать параметр типа string в дату и время. Я использую библиотеку dateUtil
from dateutil import parser
myDate_string="2001/9/1 12:00:03"
dt = parser.parse(myDate_string,dayfirst=True)
print dt
каждый раз, когда я запускаю это, я получаю
2001-09-01 12:00:03
независимо от того, установлен ли у меня dayfirst как true или Year first как false. В идеале я просто хочу иметь дату в формате ДД-ММ-ГГГГ ЧЧ: ММ: СС. Я не хочу ничего необычного. Я готов использовать библиотеку datetime, но, похоже, это вообще не работает для меня. Может ли кто-нибудь дать простые примеры того, как преобразовать строки в дату и время с явным форматом, я новичок, поэтому мне нужны только самые простые примеры. Я использую Python 2.7
Ответ №1:
Проблема, с которой вы сталкиваетесь, заключается в том, что любые аргументы, которые вы передаете parser.parse, влияют только на то, как анализируется строка, а не на то, как печатается последующий объект.
parser.parse возвращает объект datetime — при его печати он будет просто использовать метод datetime по умолчанию __str__ . Если вы замените последнюю строку на
print dt.strftime("%d-%m-%Y %H:%M:%S")
это будет работать так, как вы ожидаете.
Ответ №2:
Стандартная (встроенная) datetime
библиотека lib может сделать это легко.
from datetime import datetime
my_date_string = "2001/9/1 12:00:03"
d = datetime.strptime(my_date_string, "%Y/%m/%d %H:%M:%S")
print d.strftime("%d-%m-%Y %H:%M:%S")
Комментарии:
1. Спасибо. Я был разочарован этим. Ваше решение в целом наиболее подходит для моего варианта использования. Однако приведенный ниже ответ содержит более точные ответы с использованием библиотеки dateutil. Тем не менее, спасибо.