根据之前的内容增加时间 "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
好吧,我真的不确定该给它起什么标题。我有一个游戏,我通过变量手动更新时间。
$ 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