Что означают неуказанные неконвертированные данные?

#python #python-3.x #datetime #python-datetime

#python #python-3.x #дата и время #python-datetime

Вопрос:

Я пытаюсь использовать strptime для форматирования имеющейся у меня временной строки, но это выдает ошибку

«ValueError: остаются неконвертированные данные»: без фактического указания, каких данных в нем не хватает

Я не совсем уверен, как решить эту проблему. Вот что я пробовал :

 t = 'Tue, 26 Mar 2019 06:25:01 GMT'
def function(t):
    timeString = t 
    date = datetime.datetime.strptime(timeString, '%a, %d %b %Y %H:%M:%s %Z')
  

Я думаю, возможно, проблема как-то связана с плавающей запятой, которая должна быть там в конце. Буду признателен за любую помощь. Кроме того, любые советы по преобразованию этого в другой часовой пояс были бы замечательными.

Ответ №1:

Вы можете использовать библиотеку dateutil для анализа строки datetime.

Вот пример:

 from dateutil import parser 
datetime_string = 'Tue, 26 Mar 2019 06:25:01 GMT'
dt = parser.parse(datetime_string)
print(dt)
  

Вывод:

 datetime.datetime(2019, 3, 26, 6, 25, 1, tzinfo=tzutc())
  

Ответ №2:

«Ошибка значения: остаются неконвертированные данные:»

Это указывает на то, что datetime не удалось преобразовать предоставленные вами данные, вероятно, из-за ошибки формата при попытке проанализировать неожиданное значение.

Оказывается, это так, у вас опечатка. Измените s в формате времени на заглавные буквы

     date = datetime.datetime.strptime(timeString, '%a, %d %b %Y %H:%M:%S %Z')