2012-06-22 8 views
1

Использование import datetime в Python, можно взять отформатированный времени/строку даты, такие как:Формат даты: в питона

2012-06-21 20:36:11 

и превратить его в объект, который можно затем использовать для создания нового отформатированную строку таких как:

21st June 2012 20:36 
+3

Оформить заказ strftime http://docs.python.org/library/datetime.html#strftime-strptime-behavior –

ответ

5
import time 

s = '2012-06-21 20:36:11' 

t = time.strptime(s, '%Y-%m-%d %H:%M:%S') 
print time.strftime('%d %B %Y %H:%M', t) 

возвращает

21 June 2012 20:36 

Если вы действительно хотите 'St',

def nth(n): 
    return str(n) + nth.ext[int(n)%10] 
nth.ext = ['th', 'st', 'nd', 'rd'] + ['th']*6 

print nth(t.tm_mday) + time.strftime(' %B %Y %H:%M', t) 

получает вас

21st June 2012 20:36 
+0

+1 для приятного решения. Мне также нравится трюк с помощью приватной переменной для функции внутри объекта функции, как и с 'nth.ext'; Я тоже это делаю. – steveha

1

Вы хотите datetime.strptime, он разбирает текст в DateTimes:

>>> d = "2012-06-21 20:36:11" 
>>> datetime.datetime.strptime(d, "%Y-%m-%d %H:%M:%S") 
datetime.datetime(2012, 6, 21, 20, 36, 11) 

Форматирование даты в том, как вы хотите почти выполнимо:

>>> datetime.datetime.strftime(t, "%d %B %Y %H:%m") 
'21 June 2012 20:06' 
Смежные вопросы