2017-01-13 3 views
-1

У меня есть Задан данные в этом формате,получение даты из данных даты и времени

08:15:54:012 12 03 2016 +0000 GMT+00:00 

Мне нужно извлечь только дату, то есть в питона 12 03 2016.

Я попытался

datetime_object=datetime.strptime('08:15:54:012 12 03 2016 +0000 GMT+00:00','%H:%M:%S:%f %d %m %Y') 

Я получаю

ValueError: unconverted data remains: +0000 GMT+00:00 
+0

Если вам это нужно как строка, используйте slicing '[13:23]' - ''08: 15: 54: 012 12 03 2016 +0000 GMT + 00: 00 '[13:23]' – furas

ответ

0

Если вам это нужно, как строка затем использовать нарезка

text = '08:15:54:012 12 03 2016 +0000 GMT+00:00' 

print(text[13:23]) 

# 12 03 2016 

, но вы также можете преобразовать DateTime

from datetime import datetime 

text = '08:15:54:012 12 03 2016 +0000 GMT+00:00' 

datetime_object = datetime.strptime(text[13:23],'%d %m %Y') 

print(datetime_object) 
# datetime.datetime(2016, 3, 12, 0, 0) 

BTW:

в вашем ORYGINAŁ версии вы необходимо удалить +0000 GMT+00:00 usinig slicing [:-16]

strptime('08:15:54:012 12 03 2016 +0000 GMT+00:00'[:-16], '%H:%M:%S:%f %d %m %Y') 

Вы можете также использовать split() и join()

>>> x = '08:15:54:012 12 03 2016 +0000 GMT+00:00'.split() 
['08:15:54:012', '12', '03', '2016', '+0000', 'GMT+00:00'] 

>>> x[1:4] 
['12', '03', '2016'] 

>>> ' '.join(x[1:4]) 
'12 03 2016' 
+0

thanks furas, this работает – dm5

1

Если вы не возражаете, используя внешнюю библиотеку, я нахожу dateparser module гораздо более интуитивным, чем питоны внутренний DateTime. Он может разобрать почти ничего, если вы просто делаете

>>> import dateparser 
>>> dateparser.parse('08:15:54:012 12 03 2016 +0000 GMT+00:00') 

Он утверждает, что он может обрабатывать коррекции часового пояса Тхо я не проверял.

0

Вы можете сделать это следующим образом:

d = '08:15:54:012 12 03 2016 +0000 GMT+00:00' 
d = d[:23] #Remove the timezone details 

from datetime import datetime 
d = datetime.strptime(d, "%H:%M:%S:%f %m %d %Y") #parse the string 
d.strftime('%m %d %Y') #format the string 

Вы получаете:

'12 03 2016' 
Смежные вопросы