我一直在尝试使用此代码在我的代码中将9月作为09,但是后来我知道在Python中09是不可接受的。但是它只能显示为字符串。我的问题是如何将09当作整数显示?
我的代码:
september_month = dt.datetime(int(self.year.name),09,30)
print september_month
错误: 无效的令牌09和ValueError:日期超出月份范围
此python程序在odoo版本10 python2.7中运行
答案 0 :(得分:1)
在Python 3中,不可能将int
的值写为01,02,09等。
答案 1 :(得分:1)
这很好,您的问题是9月31日没有
答案 2 :(得分:1)
在Python(任何版本)中,像09
这样的文字都被解释为八进制文字。因此,9
的值无效。
如果您真的想查看09
,则可以编写一个字符串,然后使用int("09")
转换为整数。在您的代码中:
september_month = dt.datetime(int(self.year.name),int("09"),int("30"))
print september_month
不确定这是否真的有助于提高可读性。
答案 3 :(得分:1)
如果要显示前导0,请将数字格式设置为字符串:
"{:02d}".format(your_number)
答案 4 :(得分:0)
Datetime知道9是什么,不需要输入09