我正在尝试编写一个桌面应用程序,该程序花费当前时间,并增加90分钟的增量,以告诉用户现在他们上床睡觉的时间(大多数人可靠地在90分钟的睡眠周期内发生睡眠周期) )。
为此,我需要程序采用当前日期时间并添加90分钟的6次重复。到目前为止,我已经尝试了几种方法,这是我觉得最接近的方法(使用Python 3.7):
import datetime
now = datetime.datetime.now()
for i (0,7):
gotosleep = now + datetime.datetime(0, 0, 0[, 0[, (90*i)[, 0[, 0]]]])
print(gotosleep)
我还尝试将datetime.datetime(0, 0, 0[, 0[, (90*i)[, 0[, 0]]]])
格式化为datetime.datetime(0, 0, 0[ 0[ (90*i)[ 0[ 0]]]])
,因为我一直收到语法错误,但无济于事。
答案 0 :(得分:1)
您可以使用timedelta:
import datetime
now = datetime.datetime.now()
for i in range(7):
gotosleep = now + datetime.timedelta(0,i*60*90)
print(gotosleep)
输出:
2018-08-02 09:26:11.631513
2018-08-02 10:56:11.631513
2018-08-02 12:26:11.631513
2018-08-02 13:56:11.631513
2018-08-02 15:26:11.631513
2018-08-02 16:56:11.631513
2018-08-02 18:26:11.631513
答案 1 :(得分:0)
使用datetime.timedelta
,我们可以将所需时间间隔与当前时间相加。
from datetime import timedelta, datetime
sleep_cycles = 7
result = datetime.now() + timedelta(minutes=90 * sleep_cycles)
更多笔记
我看到您在问题中写了datetime.datetime(0, 0, 0[, 0[, (90*i)[, 0[, 0]]]])
。这表明阅读文档很困难:当文档中出现[, argument]
之类的语法时,这意味着给定的参数是可选的, not 则该参数必须用方括号括起来
出于相同的原因,您不需要添加所有这些参数。例如,当您想使用第二个可选参数时,将按以下步骤操作:
datetime.datetime(
required_1,
required_2,
required_3,
optional_1,
optional_2
)
我希望您现在可以更清楚地阅读文档。