'{:%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)
ただし、このアプローチを使用することは絶対にお勧めしません。代わりに、整数を文字列として表す必要がある場合は、整数オブジェクトで上記で行ったように、文字列フォーマットまたは文字列補間を使用することをお勧めします。