我正在尝试使用 datetime 模块。我需要这个月作为 INT 回来,前面是零。以 01 表示 JAN,02 表示 FEB 等形式。我可以通过使用获得 1,
today = date.today()
m = today.month
我可以通过这种方式获得正确的格式,但不能作为 INT。
today.strftime("%m")
有没有一种简单的方法来获得我需要的所需格式。我查看了参考资料,我确定我错过了它,但有人可以帮忙。
我正在尝试使用 datetime 模块。我需要这个月作为 INT 回来,前面是零。以 01 表示 JAN,02 表示 FEB 等形式。我可以通过使用获得 1,
today = date.today()
m = today.month
我可以通过这种方式获得正确的格式,但不能作为 INT。
today.strftime("%m")
有没有一种简单的方法来获得我需要的所需格式。我查看了参考资料,我确定我错过了它,但有人可以帮忙。
'{:%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)
但是,我绝对不建议使用这种方法,相反,当您需要将整数表示为字符串时,我会建议使用字符串格式化或字符串插值,就像我在上面对整数对象所做的那样。