如何用Python获取时间的秒数

24 投票
3 回答
125775 浏览
提问于 2025-04-16 17:57

这是我的代码:

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

因为每5分钟要恢复一次血量,所以只需要记录分钟和秒钟。

谢谢!

3 个回答

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

我觉得,这样可以解决你的问题。

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
21

这就是基本的时间计算。如果你知道一分钟有60秒,那你自己就能算出来了:

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

撰写回答