我的代码如下:
<div data-bind="foreach: sequences">
<!-- ko if: $parent.sequences.length-1 > $index() -->
<div>Some content </div>
<div data-bind="text: $data"></div>
<!-- /ko -->
</div>
问题是,我知道如何获得当前时间。我希望它看起来像:
interval_time=int(input('how many seconds each interval?'))
print(time.strftime("%H:%M"))
while time.strftime("%H:%M")!=str('19:45'):
time.sleep(interval_time)
winsound.PlaySound("SystemExit",winsound.SND_ALIAS)
winsound.PlaySound("SystemEnter",winsound.SND_ALIAS)
我知道如何转换分钟,但它会不断重新占用当前时间并增加30分钟。如何使初始time.strf()保持不变?
非常感谢!
答案 0 :(得分:0)
您已经决定使用字符串表示时间来更难完成此任务。由于这些字符串没有日期概念,因此对它们执行与日期相关的操作很麻烦。作为替代方案,您应该使用专门用于处理日期和时间的库,即datetime
。
Boilerplate代码如下所示:
from datetime import datetime, timedelta
thirty_minutes_later = datetime.now() + timedelta(minutes=30)
while datetime.now() < thirty_minutes_later:
pass # do something
此处,datetime.now
返回表示当前时间的特殊对象。 timedelta
会返回特殊对象,当从datetime
个实例添加或减去该对象时,会返回另一个datetime
,并根据timedelta
的状态进行时间转换。
另外,请注意我已将您的状况从不等于改为大于 - 即使您赢了&#39;它也会停止处理。准确地击中你的时间点(并且以毫秒的分辨率,你必须非常幸运地击中它)。