Datetime объект в строку, содержащую AM / PM - PullRequest
0 голосов
/ 30 марта 2020

В настоящее время у меня есть datetime объект со временем, который выглядит как 06:00:00 и am, пытающийся преобразовать его в строку, которая выглядит как "6:00 am".

Я пытался пользуюсь библиотеками Python Strftime, но у меня возникли проблемы, кто-то может указать мне правильное направление? Спасибо :)

Ответы [ 2 ]

1 голос
/ 30 марта 2020

Это работает для меня:

>>> import datetime
>>> datetime.datetime.now().strftime( '%H:%M %p' )
'15:09 PM'
1 голос
/ 30 марта 2020

Вы должны просто иметь возможность использовать %I:%M %p согласно следующей расшифровке:

>>> import datetime

>>> now = datetime.datetime.now()

>>> now
datetime.datetime(2020, 3, 30, 14, 6, 49, 62354)

>>> print(now.strftime("%I:%M %p"))
02:06 PM

См. здесь для списка кодов различных форматов.

Если, как следует из вашего вопроса, он вам нужен без без начального нуля на часе, а в нижнем регистре вы можете просто использовать регулярные выражения для первого и lower() для второго:

>>> import re

>>> print(re.sub("^0", "", now.strftime("%I:%M %p")).lower())
2:06 pm
...