我正在尝试将日期和月份打印为2位数字。
timestamp = date.today()
difference = timestamp - datetime.timedelta(localkeydays)
localexpiry = '%s%s%s' % (difference.year, difference.month, difference.day)
print localexpiry
Run Code Online (Sandbox Code Playgroud)
给出的输出为201387。无论如何这都会得到作为的输出20130807。这是因为我正在将其与类似格式的字符串进行比较。
使用日期格式date.strftime():
difference.strftime('%Y%m%d')
Run Code Online (Sandbox Code Playgroud)
演示:
>>> from datetime import date
>>> difference = date.today()
>>> difference.strftime('%Y%m%d')
'20130807'
Run Code Online (Sandbox Code Playgroud)
您可以对date对象的各个整数部分执行相同的操作,但是需要使用正确的字符串格式设置参数;要将整数格式化为带有前导零的两位数,请使用%02d,例如:
localexpiry = '%04d%02d%02d' % (difference.year, difference.month, difference.day)
Run Code Online (Sandbox Code Playgroud)
但使用date.strftime()效率更高。