我正在尝试使用datetime模块。我需要一个月回来作为INT与前面的ZERO。形式为01表示JAN,02表示FEB等。我可以使用
获得1 today = date.today()
m = today.month
我可以获得正确的格式,但不是这样的INT。
today.strftime("%m")
有一种简单的方法可以获得我需要的格式。我查看了参考文献,我确信我错过了它,但有人可以提供帮助。
答案 0 :(得分:5)
'{:%m}'.format(datetime.datetime.now())
似乎有效。
当然,你可以采取不那么直接的方法:
'{:02d}'.format(datetime.datetime.now().month)
或者您可以使用旧式字符串插值:
'%02d' % (datetime.datetime.now().month)
但我喜欢第一个,因为我认为它很酷......
最后,我不知道.strftime
有什么问题......即使你说你尝试过它,它也适合我:
datetime.datetime.now().strftime('%m')
您正在寻找的是int
的一个特殊子类,它知道如何代表"印刷时本身:
class MyInt(int):
def __str__(self):
return '%02d' % self
a = MyInt(3)
print (a)
但是,我绝对不建议使用这种方法,而是当我需要将整数表示为字符串时,我建议使用字符串格式或字符串插值,如上所述。