如何在Python中获取时间的秒数?

问题描述 投票:0回答:3

这是我的代码:

last_time = get_last_time()
now = time.time() - last_time
minute = 
seconds = 
print 'Next time you add blood is '+minute+':'+seconds

因为每5分钟恢复一次血所以只需要一分一秒。

python time
3个回答
22
投票

这是基本的时间算术...如果你知道一分钟有 60 秒那么你可以 你自己也发现了:

minute = int(now / 60)
seconds = int(now % 60)

8
投票

我相信两个时间对象之间的差异会返回一个 timedelta 对象。该对象有一个

.total_seconds()
方法。您需要自己将这些分解为分钟+秒:

minutes = total_secs % 60
seconds = total_secs - (minutes * 60)

当您不知道如何处理 Python 中的值时,您可以随时在交互式 Python 会话中尝试。使用

dir(obj)
查看任何对象的所有属性和方法,使用
help(obj)
查看其文档。

更新:我刚刚检查过,

time.time()
不返回
time
对象,而是一个表示自纪元以来的秒数的浮点。我所说的仍然适用,但你以不同的方式获得
total_secs
的值:

total_secs = round(time.time() - last_time)

简而言之:

last_time = get_last_time()
time_diff = round(time.time() - last_time)
minute = time_diff / 60
seconds = time_diff % 60  # Same as time_diff - (minutes * 60)
print 'Next time you add blood is '+minute+':'+seconds

4
投票

在 Python 3 中,

>>import time
>>time.localtime()
time.struct_time(tm_year=2018, tm_mon=7, tm_mday=16, tm_hour=1, tm_min=51, tm_sec=39, tm_wday=0, tm_yday=197, tm_isdst=0)

你可以这样刮分和秒,

>>time.localtime().tm_min
51
>>time.localtime().tm_sec
39

我想,这可以解决你的问题。

© www.soinside.com 2019 - 2024. All rights reserved.