python INT/date格式

2024-04-18 21:29:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用日期时间模块。我需要一个月以整数形式返回,前面有0。在01代表一月,02代表二月等表格中,我可以用

 today = date.today()
 m = today.month

我可以得到正确的格式,但不能用这种方式作为INT。在

^{pr2}$

有没有一个简单的方法来获得我需要的格式。我已经查过参考资料了,我肯定找不到了,但是有人能帮我吗。在


Tags: 模块方法todaydate格式方式时间代表
1条回答
网友
1楼 · 发布于 2024-04-18 21:29:24
'{:%m}'.format(datetime.datetime.now())

似乎有用。在

当然,你可以采取不那么直接的方法:

^{pr2}$

或者可以使用老式的字符串插值:

'%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)

但是,我绝对不建议使用这种方法,相反,我建议在需要将整数表示为字符串时使用字符串格式或字符串插值,就像我在前面对integer对象所做的那样。在

相关问题 更多 >