Skip to main content
 首页 » 编程设计

python之从字符串格式到整数

2025年05月04日27shihaiming

我在 Python 中从字符串到 int 的格式有一些问题:

obj=self.browse(cr,uid,ids,context=context)[0] 
hour_den=obj.time_in[12:13] 
hour_di=obj.time_out[12:13] 
min_den=obj.time_in[15:16] 
min_di=obj.time_out[15:16] 
gl=hour_di-hour_den 
pl=min_di-min_den 

错误是:

 unsupported operand type(s) for -: 'unicode' and 'unicode' 

我怎样才能格式化它?? 请帮帮我! 谢谢!!!

请您参考如下方法:

不清楚obj是什么类型。但是你可以这样做。

obj=self.browse(cr,uid,ids,context=context)[0] 
hour_den = hour_di = min_den = min_di = 0 
try: 
  hour_den=int(obj.time_in[12:13]) 
  hour_di=int(obj.time_out[12:13]) 
  min_den=int(obj.time_in[15:16]) 
  min_di=int(obj.time_out[15:16]) 
except ValueError: 
  return False 
gl=hour_di-hour_den 
pl=min_di-min_den 

但最好在单独的函数中转换为 int

我怀疑你的索引不正确。 如果您需要手动解析固定格式的日期,如“2011-12-14 02:20:11”。您可以使用以下内容:

ts = "2011-12-14 02:20:11" 
date, time = ts.split() 
hours, mins, secs = time.split(':') 
try: 
  hours=int(hours) 
  mins=int(mins) 
  secs=int(secs) 
except ValueError: 
  return False