datetime get the hour in 2 digit format
本问题已经有最佳答案,请猛点这里访问。
当我得到一个时间的小时,它就会像这样在24小时的时钟上打印出来;
1 2 3 4 | time1 = datetime.datetime.strptime("08/Jan/2012:08:00:00","%d/%b/%Y:%H:%M:%S") print 'hour is ', time1.hour > time is 8 |
我想把它改成08,而不是8。对于两位数的小时,这是很好的,但一旦它达到一位数,我就试图在它前面得到0。
我可能会做"time1.time",然后转换为字符串,然后拆分它,然后将小时转换回datetime对象,但这是一个冗长的过程,我想知道是否有一个更简单的解决方案?
只需使用
1 2 3 4 5 6 | >>> import datetime >>> dt = datetime.datetime.strptime("08/Jan/2012:08:00:00","%d/%b/%Y:%H:%M:%S") >>> dt.hour 8 >>> dt.strftime("%H") '08' |
对于EDOCX1[1]不能有前导零:
1 2 | >>> type(time1.hour) <class 'int'> |
号
这就是为什么你别无选择,只能先把
您可以使用@alecxe解决方案(看起来很优雅和正确),或者简单地使用类似的解决方案:
1 | >>>"{0:0>2}".format(time1.hour) |