2012-08-08 8 views

ответ

5

I деталь:

import datetime 

s = "20120808111051" 
parsed_datetime = datetime.datetime.strptime(s, "%Y%m%d%H%M%S") 
1

В последних версиях Python вы можете использовать функцию strptime:

http://docs.python.org/library/time.html#time.strptime 

Вы также можете сделать это в более старых версиях Python:

from datetime import datetime 
d = '20120808111051' 
print datetime(int(d[0:4]), int(d[4:6]), int(d[6:8]), int(d[8:10]), int(d[10:12]), int(d[12:14])) 
+0

Сколько лет «старше»? –

+0

Вы также можете использовать 'datetime.datetime.strptime'. –

+0

Насколько я знаю, Python 2.4 не предоставляет функцию strptime. Но я не уверен, что является первой версией, предоставляющей эту функцию. – mvillaress

1

You необходимо datetime.strptime: http://docs.python.org/library/datetime.html#datetime.datetime.strptime

Пример:

>>> import datetime 
>>> datetime.datetime.strptime('20120808111051', '%Y%m%d%H%M%S') 
datetime.datetime(2012, 8, 8, 11, 10, 51) 

Пожалуйста, обратите внимание, что я только догадывался формат строки вы публикуемую (т.е. 0808 - это месяц или день-месяц?), вам нужно было бы это знать.

+0

Это должен быть месяц-день. День-месяц не имеет никакого смысла, есть только один единственный формат даты назад, который является таковым со странным разделителем, '/' :) – Kimvais

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