如何使用python获得时间的秒数

2024-06-07 16:29:34 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的代码:

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

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

谢谢


Tags: 代码youaddgettimeisnownext
3条回答

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

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

在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

我想,这能解决你的问题。

我相信两个时间对象返回timedelta对象的区别。此对象有一个.total_seconds()方法。你需要将这些因素考虑到几分钟+几秒钟内:

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

当您不知道如何处理Python中的值时,可以在交互式Python会话中尝试它。使用dir(obj)查看任何对象的所有属性和方法,help(obj)查看其文档。

Update:我刚刚检查了一下,并且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

相关问题 更多 >

    热门问题