Как исправить форматирование строк в Python?

#python #string #formatting

#python #строка #форматирование

Вопрос:

Я только что написал код, все в порядке, но код не работает, я перезапустил свой компьютер и все еще не работает, не знаю почему? вот фрагмент

 import datetime
my_date = datetime.datetime(2016,4,25,1,2,5)
print("{%B %d, %Y}".format(my_date))
  

это ошибка

 Traceback (most recent call last):   
File "C:UsersBasir PayendaPycharmProjectspython_workdemo3.py", line 3, in <module>
    print("{%B %d, %Y}".format(my_date)) 
KeyError: '%B %d, %Y'
  

пожалуйста, помогите мне решить это

Ответ №1:

Вы забыли поставить двоеточие после скобок, которое определяет формат.

 import datetime
my_date = datetime.datetime(2016,4,25,1,2,5)
print("{:%B %d, %Y}".format(my_date))
  

Ответ №2:

Попробуйте приведенный ниже код:

 import datetime
my_date = datetime.datetime(2016,4,25,1,2,5)
# Different ways of formatting
print("{:%B %d, %Y}".format(my_date))  # Using .format  
print(my_date.strftime("%B %d, %Y")) # Using strftime
  

Ответ №3:

Вы можете использовать этот формат.

 import datetime
my_date = datetime.datetime(2016,4,25,1,2,5)
print(my_date.strftime("%m/%d/%Y, %H:%M:%S"))
# Output: 04/25/2016, 01:02:05
print(my_date.strftime("%B, %d, %Y, %H:%M:%S"))
#Output: April, 25, 2016, 01:02:05
  

Объект Date имеет метод по умолчанию для преобразования строки. Итак, вы должны использовать это.

Дополнительная информация: Формат даты

Ответ №4:

Используйте strftime :

 >>> print(my_date.strftime("{%B %d, %Y}"))
{April 25, 2016}