2010-11-03 2 views
2

Я получаю временную метку обратно из WordPress API, но обычный метод converting from timestamp to datetime не дает мне возможности.Преобразование неизвестной метки времени в datetime в Python

я запускаю это:

print pages[1]['dateCreated'] 
print datetime.fromtimestamp(pages[1]['dateCreated']) 

И получить это:

20100228T09:25:07 
Traceback (most recent call last): 
    File "C:\Python26\Lib\SITE-P~1\PYTHON~1\pywin\framework\scriptutils.py", line 325, in RunScript 
    exec codeObject in __main__.__dict__ 
    File "C:\Documents and Settings\mmorisy\Desktop\My Dropbox\python\betterblogmaster3.py", line 28, in <module> 
    print datetime.fromtimestamp(pages[1]['dateCreated']) 
AttributeError: DateTime instance has no attribute '__float__' 

Есть предложения?

+2

[ 'timestamp' должен быть поплавок] (http://docs.python.org/library/datetime.html#datetime.date.fromtimestamp). У вас есть строка, проанализируйте свою строку с помощью ['datetime.strptime'] (http://docs.python.org/library/datetime.html#datetime.datetime.strptime), и вы получите объект' datetime'. – SilentGhost

+1

'exec codeObject в __main __.__ dict__' Что это делает? Если вы собираетесь хранить свой секретный код, мы не можем много помочь, не так ли? Кроме того, если вы действительно используете это, вам не удастся использовать Python. –

+1

У вас есть метка времени ISO 8601, а не временная метка Unix. См. Http://stackoverflow.com/questions/969285/how-do-i-translate-a-iso-8601-datetime-string-into-a-python-datetime-object –

ответ

3

Предположим, вы имеете from datetime import datetime:

print datetime.strptime(pages[1]['dateCreated'],'%Y%m%dT%H:%M:%S') 
+0

@Michael: это не имеет никакого отношения к регулярному выражению, у datetime есть собственный язык шаблонов для форматирования/синтаксического форматирования строк. – SilentGhost

+0

Спасибо вам обоим. –

Смежные вопросы