Python中的两位数日期

时间:2013-08-07 08:53:47

标签: python date

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

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

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

3 个答案:

答案 0 :(得分:5)

使用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()会更有效率。

答案 1 :(得分:1)

您还可以使用formatdatetimedate使用__format__方法):

>>> import datetime
>>> dt = datetime.date.today()
>>> '{:%Y%m%d}'.format(dt)
'20130807'
>>> format(dt, '%Y%m%d')
'20130807'

答案 2 :(得分:0)

在django中的两位数的月,日和四位数的年,像这样的04/14/2019:
{{text1.pub_date | date:“ m / d / Y”}}}