python datetime提取两位数的月份和date值
有没有办法使用isoformats来提取月份和date? 假设今天的date是2013年3月8日。
>>> d = datetime.date.today() >>> d.month 3 >>> d.day 8
我想要:
>>> d = datetime.date.today() >>> d.month 03 >>> d.day 08
我可以通过编写if语句和连接前导0来做到这一点,以防日或月是一个单一的数字,但想知道是否有一个自动的方式来产生我想要的。
感谢帮助。
看看这些属性的types:
In [1]: import datetime In [2]: d = datetime.date.today() In [3]: type(d.month) Out[3]: <type 'int'> In [4]: type(d.day) Out[4]: <type 'int'>
两者都是整数。 所以没有自动的方法去做你想做的事情。 所以在狭义上,对你的问题的答案是否定的 。
如果你想要引导零,你必须格式化他们。 为此你有几个select:
In [5]: '{:02d}'.format(d.month) Out[5]: '03' In [6]: '%02d' % d.month Out[6]: '03' In [7]: d.strftime('%m') Out[7]: '03'
您可以使用string格式化程序填充任何整数零。 它的行为就像C的printf
。
>>> d = datetime.date.today() >>> '%02d' % d.month '03'