3

我正在尝试将日期和月份打印为 2 位数字。

timestamp = date.today()
difference = timestamp - datetime.timedelta(localkeydays)
localexpiry = '%s%s%s' % (difference.year, difference.month, difference.day)
print localexpiry

这将输出作为201387。无论如何,这将输出为20130807. 这是因为我将它与类似格式的字符串进行比较。

4

3 回答 3

6

使用日期格式date.strftime()

difference.strftime('%Y%m%d')

演示:

>>> from datetime import date
>>> difference = date.today()
>>> difference.strftime('%Y%m%d')
'20130807'

您可以对date对象的单独整数组件执行相同操作,但需要使用正确的字符串格式参数;要将整数格式化为带前导零的两位数,请使用%02d,例如:

localexpiry = '%04d%02d%02d' % (difference.year, difference.month, difference.day)

但使用date.strftime()效率更高。

于 2013-08-07T08:55:03.550 回答
3

您还可以使用格式datetimedate有 __format__ 方法):

>>> import datetime
>>> dt = datetime.date.today()
>>> '{:%Y%m%d}'.format(dt)
'20130807'
>>> format(dt, '%Y%m%d')
'20130807'
于 2013-08-07T09:06:55.147 回答
0

django 中的两位数月、日和四位数年,例如 04/14/2019:
{{text1.pub_date|date:"m/d/Y"}}

于 2020-04-20T08:11:14.293 回答