日期时间对象格式

ehe*_*ele 9 python

我试图使用datetime对象,其中包括datetime.month,datetime.day,和datetime.hour.

问题是这些对象(比如说datetime.month)给出的值为1,2,3等等到12个.相反,我需要格式为01,02,03,依此类推12.还有类似的问题.个月.

我该如何切换到这种格式?


我意识到这不是一个非常明确的问题:

我正在使用字符串格式来打印我带有时间戳的字典中的值.

因此,表现大致是:

print "%s-%s-%s"%(date.year, date.month, date.day, etc., len(str) )|

我的价值最初是以正确的"%Y-%m-%d形式(例如2000-01-01).使用上面的内容,我得到2000-1-1.

mgi*_*son 26

您可以使用字符串格式打印各个属性:

print ('%02d' % (mydate.month))
Run Code Online (Sandbox Code Playgroud)

或者更新的字符串格式(在python 2.6中引入):

print ('{0:02d}'.format(a.month))  # python 2.7+ -- '{:02d}' will work
Run Code Online (Sandbox Code Playgroud)

请注意,即使:

print ('{0:%m}'.format(a))  # python 2.7+ -- '{:%m}' will work.
Run Code Online (Sandbox Code Playgroud)

将工作.

或者使用datetime对象的strftime方法:

print (mydate.strftime('%m'))
Run Code Online (Sandbox Code Playgroud)

而且只是为了完整性:

print (mydate.strftime('%Y-%m-%d')) 
Run Code Online (Sandbox Code Playgroud)

将很好地替换您的编辑中的代码.