我目前正在Python中构建一个应用程序,该应用程序通过websocket接收实时数据。我的应用程序每秒钟都会收到一个";勾号";从带有数据的websocket。
我想查看这个刻度数据并检查时间戳(UNIX格式(。应用程序应该忽略大多数这些滴答声,但每6个小时就应该运行一个特定的方法。(因此,如果时间戳是00:00、06:00、12:00或18:00,则应该运行一个方法。(
我知道timestamp % 3600
会检查它是否是一个完整的小时。我尝试timestamp % (3600*6)
每6个小时检查一次。不幸的是,这并没有奏效,因为它也会引发误报。
我现在的问题是,如何检查时间戳是否为6小时?(00:00、06:00、12:00或18:00(这是我当前的代码:
tickertime = tickerdata['E']
if (tickertime % (3600*6) == 0):
run_this_method()
最好我正在寻找一个简单的轻量级解决方案,它不需要太多复杂的日期时间转换、格式化等。(这是因为我每秒都会收到一个勾号,所以检查应该非常快速高效。(
我很想知道是否有人知道一个聪明的解决方案。提前感谢!
最大
存储开始时间,并检查当前时间是否大于start+6小时。每次检查返回True时,加6个小时。如果必须精确到0 6 12,依此类推,则转换为datetime对象并直接检查小时值。
if time.localtime().tm_hour % 6 == 0:
print(time.localtime().tm_hour)