python INT /日期格式

时间:2013-01-02 13:46:30

标签: python date formatting

我正在尝试使用datetime模块。我需要一个月回来作为INT与前面的ZERO。形式为01表示JAN,02表示FEB等。我可以使用

获得1
 today = date.today()
 m = today.month

我可以获得正确的格式,但不是这样的INT。

 today.strftime("%m")

有一种简单的方法可以获得我需要的格式。我查看了参考文献,我确信我错过了它,但有人可以提供帮助。

1 个答案:

答案 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)

但是,我绝对不建议使用这种方法,而是当我需要将整数表示为字符串时,我建议使用字符串格式或字符串插值,如上所述。