我正在尝试将日期和月份打印为2位数字。
timestamp = date.today()
difference = timestamp - datetime.timedelta(localkeydays)
localexpiry = '%s%s%s' % (difference.year, difference.month, difference.day)
print localexpiry
这使输出为201387
。无论如何,这将输出为20130807
。这是因为我将它与类似格式的字符串进行比较。
答案 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)
您还可以使用format(datetime,date使用__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”}}}