回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>对不起,我真的不知道该怎么解释。我正在尝试创建一个小程序来检测员工是否按时上班。
首先,我将一个浮点数(表示一小时)转换为datetime值:</p>
<pre><code> estabHourF=(float(estabHour)+0.18)
minutes = estabHourF*60
hours, minutes = divmod(minutes, 60)
print("%02d:%02d"%(hours,minutes))
todaysYear = datetime.date.today().year
todaysMonth = datetime.date.today().month
todaysDay =datetime.date.today().day
todaysSeconds = datetime.datetime.now().second
</code></pre>
<p>然后,我将所有这些都插入到一个列表中:</p>
<pre><code>nowH = datetime.datetime(todaysYear, todaysMonth, todaysDay, int("%02d"%(hours)), int("%02d"%(minutes)), todaysSeconds)
</code></pre>
<p>然后,我创建了另一个列表,该列表创建了类似的分钟周期,以便我可以将现在的时间与以后输入的既定时间进行比较:</p>
<pre><code>numMinutes = 15
date_list = [nowH - datetime.timedelta(minutes=x) for x in range(numMinutes)]
</code></pre>
<p>如果我打印这个,它是这样的:</p>
<pre><code>datetime.datetime(2021, 7, 27, 9, 14, 33)
</code></pre>
<p>这是它在控制台上的外观</p>
<p>最后,我试着通过模仿它的样子来比较过去和现在的时间列表:</p>
<pre><code>for x in range(len(date_list)):
if (date_list[checkList])=="datetime.datetime({0}, {1}, {2}, {3}, {4}, {5})".format(todaysYear, todaysMonth, todaysDay, int(datetime.datetime.now().strftime("%I")), datetime.datetime.now().minute, todaysSeconds):
punctual = True
print("Puntual: ", punctual)
print(datetime.datetime.now())
else:
print("datetime.datetime({0}, {1}, {2}, {3}, {4}, {5})".format(todaysYear, todaysMonth, todaysDay, int(datetime.datetime.now().strftime("%I")), datetime.datetime.now().minute, todaysSeconds))
checkList+=1
</code></pre>
<p>是的,如果错了,我想让它显示我正在比较的相同值,并且,不要告诉我这两者不一样</p>
<pre><code>from my list: datetime.datetime(2021, 7, 27, 9, 25, 49)
from the print inside "else": datetime.datetime(2021, 7, 27, 9, 25, 49)
</code></pre>
<p>它们完全相同,但由于我的一些错误,python似乎无法识别它:')</p>
<p>如果你能帮助我,我会非常感激的</p>