我想使用日期时间模块。我需要这个月作为一个INT与前面的ZERO回来。在形式01 JAN,02 FEB等等等等,我可以用得到1,蟒INT /日期格式
today = date.today()
m = today.month
我能得到正确的格式,但不是作为一个INT这种方式。
today.strftime("%m")
是否有一种简单的方法来获得所需的格式。我看过参考文献,我确信我错过了,但有人可以帮忙。
我想使用日期时间模块。我需要这个月作为一个INT与前面的ZERO回来。在形式01 JAN,02 FEB等等等等,我可以用得到1,蟒INT /日期格式
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)
但是,我绝对不会推荐使用这种方法,而不是我会建议使用字符串格式化或字符串插值我在整数对象上面做,当你需要代表整数为字符串。
适合我:'>>> import datetime; >>> a = datetime.datetime.now(); >>> print a.strftime('%m'); 01' –
我不明白你的问题。你想把这个月当作INT,它可以是'1,2,3 ... 12'。但是你要求它的形式是'01,02,03,...,12',这是一个字符串。你要哪一个? – Cynical