如何在Python中找到未来时间的纪元时间

2024-05-15 04:05:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我现在正在用Python编写闹钟,但是我有一些技术上的困难。 用户可以选择重复报警(在给定日期),或不重复报警。然后,他们提供他们希望触发警报的分钟和小时数

为了让我的报警系统正常工作,我需要知道报警触发的时间

如果我试图设置闹钟(例如19:30,时间将始终输入为24小时),我需要闹钟能够找出下一次19:30的历元时间,因为如果我在19:30之前设置闹钟,它可能在同一天,如果我在19:30之后设置闹钟,它可能在第二天

因此,这意味着我不能简单地执行time.localtime(),然后使用生成的struct_time对象并将小时和分钟交换为19和30的整数(分别位于对象命名元组的索引3和4),因为我还必须正确分配月、日、日的值,为了得到一个有效的struct_time对象,一年中的某一天,这虽然可能,但需要大量的操作,当我觉得可能有一种更合理的方法这样做的时候

任何帮助都将不胜感激


Tags: 对象用户报警time系统时间警报struct
1条回答
网友
1楼 · 发布于 2024-05-15 04:05:19

只需对结果使用^{}方法即可。这将返回datetime实例的纪元时间。这将在几乎任何情况下都能工作,特别是因为它是一个简单的闹钟,但要注意文档中的这一点

Naive datetime instances are assumed to represent local time and this method relies on the platform C mktime() function to perform the conversion. Since datetime supports wider range of values than mktime() on many platforms, this method may raise OverflowError for times far in the past or far in the future.

根据您的程序体系结构,您也可以考虑使用两次之间的秒数,这可以用简单的减法来获得^{}^{}函数:

import time
import datetime

start = datetime.datetime.now()

time.sleep(2)

end = datetime.datetime.now()

# print total seconds
print((end - start).total_seconds())

相关问题 更多 >

    热门问题