[英]Slicing and Replacing Unicode String Characters
我尝试使用以下循环替换unicode字符串中的字符。 我为此循环获取的数据采用以下格式:YYYY-MM-DD HH:MM:SS
这些数据显然存储在UTC中,因此当我抓取数据并将这些时间和日期附加到我的列表appts_list
的4小时时。
我已经对unicode字符串进行了切片,并对这些字符进行了数学运算,得出了我所需要的正确时间,但是将其重新输入字符串时遇到了问题,因此我可以将其写到我的列表中appts_list
。
尝试将正确的小时time_slice_int
的整数写回到原始字符串时,出现TypeError错误。 我决定尝试将整个字符串放入列表中,然后在此处进行更改,但这都不起作用。
理想情况下,我希望将“ 2013-06-28 15:30:00”的约会作为“ 2013-06-28 11:30:00”输入到我的appts_list
中。
我可以在运行时调试打印语句。 最终版本不需要它们。
有人有任何建议或解决方案吗?
for appt in todays_appts:
time = appt['apptdateourtime_c']
time_slice = time[11:13]
time_slice_int = int(time_slice)
time_slice_int -= 4
print(time_slice_int)
appt_time = list(time)
print(appt_time)
print(appt_time[11:13])
#appt_time[11:13] = time_slice_int
#appts_list.append()
print('AppointmentScheduled')
#print(appt['apptdateourtime_c'])
#print(time)
print('')
您应该在此处使用datetime
模块:
>>> from datetime import datetime, timedelta
>>> strs = '2013-06-28 15:30:00'
>>> d = datetime.strptime(strs, "%Y-%m-%d %H:%M:%S")
datetime.strptime
返回一个datetime对象:
>>> d
datetime.datetime(2013, 6, 28, 15, 30)
>>> d.hour
15
>>> d.month
6
现在,使用timedelta
从上述日期时间对象( d
)减少4小时,然后将新对象分配给变量:
>>> d1 = d - timedelta(hours = 4)
现在使用datetime.strftime
获取所需格式的字符串:
>>> datetime.strftime(d1,"%Y-%m-%d %H:%M:%S")
'2013-06-28 11:30:00'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.