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

谢谢!


当前回答

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

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

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

其他回答

import datetime
now = datetime.datetime.now()
print now.strftime("%b %_d")

看一看-下面:

>>> 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)

有点棘手,但对我来说很管用

例:从2021-02-01T00:00:00.000Z到2021-02-1

from datetime import datetime

dateObj = datetime.strptime('2021-02-01T00:00:00.000Z','%Y-%m-%dT%H:%M:%S.%fZ')
dateObj.strftime('%Y-%m-{}').format(dateObj.day)

对于大多数情况,标准库已经足够好了,但对于真正详细的日期操作,您应该始终寻找一些专门的第三方库。

使用箭头:

>>> import arrow
>>> arrow.utcnow().format('dddd, D. M. YYYY')
'Friday, 6. 5. 2022'

查看受支持的令牌的完整列表。

Python 3.6 +:

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