【发布时间】:2023-03-14 22:35:01
【问题描述】:
我创建了一个带有字典的数据集,该字典具有值时间戳(在 Unix 纪元时间中)。 我正在尝试创建一个通用代码,在午夜到 9:30 之间的任何一天,它都会执行一些操作。然后每隔一小时(所以 10:30,11:30 等......)它会输出一些东西直到 4:00。在午夜之前的 4:00 到 1 分钟,它会执行一些类似于午夜到 9:30 操作的操作。
这段代码在历史上运行了很多天、几个月和几年。幸运的是,每个文件都是一个单独的文件,所以我只关心这个时间戳值中的小时和分钟。我一直在尝试使用 datetime.hour 和 datetime.minutes 但这不起作用。而且我没有运气创建timedelta。
这就是数据的样子:
{'timestamp': 1336993535623,'values':5}
{'timestamp': 1336981068031, 'values':6}
我所做的基本上是这样的:
time1=obs.get('timestamp',0)
dt=datetime.datetime.fromtimestamp(int(time1)/1000)
obstimestamp=dt.strftime("%A, %d. %B %Y %I:%M%p")
然后我尝试使用这样的东西:
如果 obstimestamp.hour
所以问题是双重的:第一个是如何在这些设定的时间间隔内循环遍历这个“时间戳”值。
第二个是我如何使用 Unix 时间戳来做同样的事情? (我认为这样做会更有效,更快)。
感谢任何帮助。提前致谢。
【问题讨论】:
-
这个问题太模糊了,任何人都无法帮助你。至少显示带有
datetime.hour和datetime.minutes的代码不起作用。 -
@Wooble 问题基本上是你有一大堆从 00:00 到 23:59 的时间值。我想从 00:00 循环到 9:30。然后每小时循环一次(9:30 到 10:30,10:30 到 11:30),直到我到达 16:00。然后在 16:00 到 23:59 我想要另一个循环。这是在历史日期运行的,时间值是 Epoch Unix 时间(例如 1337025601002)。我的代码没用,因此我没有显示它。我认为这个问题很清楚,关于如何澄清它还有其他建议吗?