我试图使用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)
将很好地替换您的编辑中的代码.