2014-10-20 4 views
-4

У меня проблемы с библиотекой datetime. Вот мой код:DateTime Python Parsing

import time 
import datetime 
TIME = 2014-10-20 14:31:27 
DATETIME = datetime.datetime.strptime(TIME, "%Y-%m-%d %H:%M:%S") 

Когда я пытаюсь запустить это, я получаю:

DATETIME = datetime.datetime.strptime(TIME, "%Y-%m-%d %H:%M:%S") 
TypeError: strptime() argument 1 must be string, not datetime.datetime 

время не является строкой?

TIME получает свое значение из библиотеки Tweepy, но в документации не говорится, является ли время, когда оно проходит, на самом деле является строкой или нет.

+0

Когда * I * пытаюсь запустить это, я получаю «SyntaxError» (как и ожидалось, потому что это присвоение 'TIME' не имеет смысла). Если я добавлю котировки вокруг него, он работает нормально. Учитывая, что у вас, по-видимому, уже есть ** 'datetime', зачем пытаться его повторно преобразовать? – jonrsharpe

+0

Нет, как вы забыли цитаты. Я очень удивлен, что у вас действительно появилось такое сообщение, оно должно крутиться намного быстрее ... Если вы получите значение из другого места, что возвращает 'type (TIME)? – matsjoyce

+0

Это закончило работу 'DATETIME = datetime.datetime.strptime (str (TIME),"% Y-% m-% d% H:% M:% S ")' –

ответ

0

Попробуйте это:

thedate = datetime.datetime.strptime(timestamp, "%Y-%m-%d %H:%M:%S.%f") 

Вы можете проверить результат с:

print thedate.strftime('%Y-%m-%d @ %H:%M:%S') 
0

это:

TIME = 2014-10-20 14:31:27 

не действительный код Python. Я понимаю, что вы не создаете объект таким образом, но получаете его из библиотеки, и это не строка, а объект datetime. Таким образом, сообщение об ошибке самоочевидно. Вам не нужно анализировать этот объект, рассматривая его как строку, чтобы получить datetime, это уже объект datetime.

0

TypeError: strptime() argument 1 must be string, not datetime.datetime

исключение говорит, что TIME уже datetime объект. Удалите strptime() строку из вашего кода. DATETIME = TIME