链接到练习可以访问这里-Section 5.14 Exercise #1
引用问题:
Exercise 1
...Write a script that reads the current time and converts it to a time of day in hours, minutes, and seconds, plus the number of days since the epoch.
这里有一个可能的解决方案-Solution
上面提供的解决方案似乎很容易理解,但我对将历元时间转换为一天中正常时间的计算/公式感到困惑。这些台词让我最困惑:
hours = (epoch % seconds_in_a_day) // seconds_in_an_hour + 8
minutes = (epoch % seconds_in_a_day) % seconds_in_an_hour // seconds_in_a_minute
seconds = (epoch % seconds_in_a_day) % seconds_in_an_hour % seconds_in_a_minute
我的问题是,为什么将seconds_in_a_day
除以epoch
的余数除以seconds_in_an_hour
,然后将8加到结果中。我对minutes
和seconds
变量也有类似的混淆。我正试图理解这种计算背后的逻辑,但它相当混乱。你知道吗
我也一直在努力学习一些python代码,今天我遇到了这个问题。这是我的尝试
这背后的逻辑是,
seconds
是总秒数除以一分钟内秒数的余数,minutes
是总分钟数除以一小时内分钟数的余数,通过这个逻辑我们可以以相同的方式得到hours
和days
。你知道吗代码更易于阅读和理解,希望它能为以后阅读本文的python初学者消除一些困惑。你知道吗
因为从1970开始,epoch总共是秒,所以我们只想观察今天经过的秒数。这给出了每个公式的第一部分
(epoch % seconds_in_a_day)
。你知道吗既然我们有今天已经过去的秒数,我们可以用它除以一小时内的秒数,得到小时数。因为北京的时区是UTC+8,所以这里加上了8。你知道吗
因为我们在一天中也有几秒钟,我们在几小时和几秒钟内重复几天的逻辑。如果我们知道从今天开始已经过了
n
秒,我们可以将这个时间除以一个小时内的秒数,得到最后一个非完整小时内经过的秒数的“余数”。现在我们把它除以seconds_in_a_minute
,把秒变成分钟。你知道吗同样的逻辑也适用于秒。你知道吗
相关问题 更多 >
编程相关推荐