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来做到这一点,以防日或月是一个单一的数字,但想知道是否有一个自动的方式来产生我想要的。

感谢帮助。

2 Solutions collect form web for “python datetime提取两位数的月份和date值”

看看这些属性的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' 
  • python相当于filter()获取两个输出列表(即列表分区)
  • 如何用对该表唯一的不同整数replaceDjango的主键
  • matplotlib传奇标记只有一次
  • 如何离开/退出/停用python virtualenv?
  • 在C#中是否有相当于Pythons范围(12)?
  • Python断言的最佳实践
  • 使用python PIL库来裁剪和保存图像时遇到困难
  • Python&Ctypes:将一个结构传递给一个函数,作为取回数据的指针
  • UnicodeDecodeError:'ascii'编解码器无法解码位置1中的字节0xef
  • 在读取Python文件中的行时跳过第一行
  • 如何在setup.py中指定多个作者/电子邮件