使用python中的time()模块来查找它是白天还是晚上



我开始写

import time
localtime = time.localtime()
print(localtime)

但是本地时间给出了九个属性

time.struct_time(tm_year=2018, tm_mon=7, tm_mday=31, tm_hour=22, 
tm_min=32, tm_sec=41, tm_wday=1, tm_yday=212, tm_isdst=1)

我想通过将hours:min:sec与当地时间进行比较来确定python中的am还是pm。请建议

tm_hour=22

这个是您感兴趣的字段(a(,您只需使用(例如,一小时(localtime.tm_hour即可查看各个字段。

然后你可以用它来计算一天中的哪一部分,如下所示:

0 - 11 -> am, 12 - 23 -> pm

一个简单的代码是:

import time
mytime = time.localtime()
if mytime.tm_hour < 12:
print ('It is AM')
else:
print ('It is PM')

对于更通风的精灵(比如白天和晚上(,最简单的解决方案是固定时间,比如:

0 - 5, 19 - 23 -> night, 6 - 18 -> day

完成:

import time
mytime = time.localtime()
if mytime.tm_hour < 6 or mytime.tm_hour > 18:
print ('It is night-time')
else:
print ('It is day-time')

当然,这完全取决于你如何定义白天和夜晚,因为太阳在一年中的不同时间在世界不同地区的不同时间升起和落下,在极北和极南纬的极端情况下,有时不是一次几个月。


(a(从技术上讲,你可能应该使用小时、分钟甚至秒,因为可以说中午和午夜既不是前子午线也不是后子午线。但在这个问题的背景下,我们将采用更简单的解决方案。

忽略秒的示例代码如下:

import time
mytime = time.localtime()
myhour = mytime.tm_hour
mymin = mytime.tm_min
if myhour == 0 and mymin == 0:
print('It is midnight')
elif myhour < 12:
print ('It is AM')
elif myhour == 12 and mymin == 0:
print('It is noon')
else:
print ('It is PM')

最新更新