当使用Python strftime时,是否有一种方法可以删除日期的第一个0,如果它在10号之前,即。01 = 1?找不到一个%的东西吗?

谢谢!


当前回答

虽然有点晚了,但是%-d对我来说是有效的。

datetime.now()。strftime('%B %-d, %Y')生成类似"November 5, 2014"的内容

欢呼:)

其他回答

如果我们想只获取date,而前导为0,我们可以

d = date.today()
day = int(d.strftime("%d"))

Python 3.6 +:

from datetime import date
today = date.today()
text = "Today it is " + today.strftime(f"%A %B {today.day}, %Y")

下面是GNU C库中strftime()支持的修饰符的文档。(就像人们之前说的,它可能不方便携带。)你可能感兴趣的是:

%e而不是%d将用空格替换月中的第一天的前导零

它适用于我的Python (Linux)。我不知道它对你是否有效。

虽然有点晚了,但是%-d对我来说是有效的。

datetime.now()。strftime('%B %-d, %Y')生成类似"November 5, 2014"的内容

欢呼:)

看一看-下面:

>>> from datetime import datetime
>>> datetime.now().strftime('%d-%b-%Y')
>>> '08-Oct-2011'
>>> datetime.now().strftime('%-d-%b-%Y')
>>> '8-Oct-2011'
>>> today = datetime.date.today()
>>> today.strftime('%d-%b-%Y')
>>> print(today)