如何在Python中修复字符串格式?

时间:2019-03-08 08:08:06

标签: python string formatting

我刚刚编写了一个代码,一切正常,但是代码不起作用,我重新启动了机器,但仍然不起作用,不知道为什么? 这是一个片段

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:\Users\Basir Payenda\PycharmProjects\python_work\demo3.py", line 3, in <module>
    print("{%B %d, %Y}".format(my_date)) 
KeyError: '%B %d, %Y'

请帮我解决

4 个答案:

答案 0 :(得分:0)

您忘了在定义格式的方括号后面加一个冒号。

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

答案 1 :(得分:0)

尝试以下代码:

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

答案 2 :(得分:0)

您可以使用此格式。

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 format

答案 3 :(得分:0)

使用strftime

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