根据之前的内容增加时间 "stamp" 的值 - 字符串

Increase value of time"stamp" based on previous content - string

好吧,我真的不确定该给它起什么标题。我有一个游戏,我通过变量手动更新时间。 $ current_hour = "07:00"例如

我想做的是增加这个时间,而不必每次都手动输入新时间。是这样的: $ current_hour += 1(我知道这当然不行)

所以,我尝试如下:

hour = current_hour
current_hour = str(int(hour[:2]+1)+hour[3:])

然后,希望它能给我 08:00 - 但它不起作用,我有点困惑为什么。 我得到的错误是 coercing to unicode, need string or buffer, int found 我以为我通过分别声明为 int() 和 str() 来解决这个问题,但显然我没有。所以,我很讨厌 Python - 有人能帮忙吗?

不要重新发明轮子,使用日期时间对象。

from datetime import time
current_hour = time(7)
current_hour # datetime.time(7, 0)

def addhour(time, hours):
    return time.replace(hour = (time.hour + hours)%24)

addhour(current_hour, 1) # datetime.time(8, 0)
current_hour.isoformat() # '08:00:00'

试试这个:

current_hour = "12:00"
current_hour = str(int(current_hour[:2])+1)+current_hour[2:]

if len(current_hour)==4:
  current_hour = '0' + current_hour

if int(current_hour[:2]) >= 13:
  current_hour = str(int(current_hour[:2])-12)+current_hour[2:]

if len(current_hour)==4:
  current_hour = '0' + current_hour