python - datetime 以 2 位数字格式获取小时

标签 python date datetime

<分区>

当我得到某个时间的小时时,它会像这样以 24 小时制打印它;

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”,然后转换为字符串,然后将其拆分,然后将小时转换回日期时间对象,但这相当冗长,我想知道是否有更简单的解决方案?

最佳答案

只需使用 .strftime() 将其转储为字符串即可:

>>> 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'

关于python - datetime 以 2 位数字格式获取小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37886305/

相关文章:

python - 在 Python 中将不同的日期数据规范化为单一格式

javascript - 尝试创建一个 future 的日期而不是创建一个过去的日期

java - 找出 YearMonth 实例的最后一天(在 LocalDate 中) - joda 库

mysql - 从 MySQL 日期字段中阻止 '0000-00-00'

python - 我不太明白如何解析 Yahoo NHL 页面

python - 如何对同一类的多个对象进行动画处理?

java - Long 到 XMLGregorianCalendar 并返回到 Long

swift - UTC 时间重复发生的本地通知

python - 使用 pyparsing 在 python 中解析文本文件

python - Numpy 从 np 数组中删除一个维度