让Python打印一小时

时间:2014-02-25 17:14:23

标签: python python-3.x time

我使用以下代码来获取时间:

import time

time = time.asctime()

print(time)

我最终得到以下结果:

'Tue Feb 25 12:09:09 2014'

如何让Python只打印一小时?

3 个答案:

答案 0 :(得分:14)

您可以使用datetime

>>> import datetime as dt
>>> dt.datetime.now().hour
9

或者,而不是现在()你可以使用今天():

>>> dt.datetime.today().hour
9

然后插入所需的任何字符串:

>>> print('The hour is {} o\'clock'.format(dt.datetime.today().hour))
The hour is 9 o'clock

请注意,datetime.today()datetime.now()都在使用您计算机的本地时区概念(即'天真'日期时间对象)。

如果你想使用时区信息,那就不是那么简单了。您可以使用Python 3.2+并使用datetime.timezone或使用第三方pytz。我假设您的计算机的时区很好,并且一个天真的(非时区日期时间对象)相当容易使用。

答案 1 :(得分:4)

import time
print (time.strftime("%H"))

答案 2 :(得分:2)

time.asctime()会创建一个字符串,因此提取小时部分很难。相反,请获取一个正确的time.struct_time对象,该对象直接公开组件:

t = time.localtime() # gives you an actual struct_time object
h = t.tm_hour # gives you the hour part as an integer
print(h)

如果您只需要一小时,就可以一步完成:

print(time.localtime().tm_hour)