如何在python中更改对象中的时间?

如何在python中更改对象中的时间?,python,python-2.7,Python,Python 2.7,我正在编写代码来更改对象字符串中的12小时时间 我需要一些代码方面的帮助,因为我在更改对象中的12小时时间时遇到了一些问题 def GoLeft(self): if CurrentRow == 375: if self.channel_page >= 0: # Set the date and time row getTime1 = self.getControl(344) getTime2 = self.g

我正在编写代码来更改对象字符串中的12小时时间

我需要一些代码方面的帮助,因为我在更改对象中的12小时时间时遇到了一些问题

def GoLeft(self):

   if CurrentRow == 375:
       if self.channel_page >= 0:
          # Set the date and time row
          getTime1 = self.getControl(344)
          getTime2 = self.getControl(345)
          getTime3 = self.getControl(346)
          getTime3.setLabel(getTime2.getLabel())
          getTime2.setLabel(getTime1.getLabel())
          getTime1 = self.getControl(344).getLabel()
          hour = time.strftime("%I").lstrip('0')

          #Find the time for each clock to change the text
          if getTime1 == '12:00AM':
             self.getControl(344).setLabel('11:30AM')
          elif getTime1 == '12:30AM':
             self.getControl(344).setLabel('12:00AM')
          elif getTime1 == '1:00AM':
             self.getControl(344).setLabel('12:30AM')
          elif getTime1 == '1:30AM':
             self.getControl(344).setLabel('1:00AM')
          elif getTime1 == '2:00AM':
             self.getControl(344).setLabel('1:30AM')
          elif getTime1 == '2:30AM':
             self.getControl(344).setLabel('2:00AM')
          elif getTime1 == '3:00AM':
             self.getControl(344).setLabel('2:30AM')
          elif getTime1 == '3:30AM':
             self.getControl(344).setLabel('3:00AM')
          elif getTime1 == '4:00AM':
             self.getControl(344).setLabel('3:30AM')
          elif getTime1 == '4:30AM':
             self.getControl(344).setLabel('4:00AM')
          elif getTime1 == '5:00AM':
             self.getControl(344).setLabel('4:30AM')
          elif getTime1 == '5:30AM':
             self.getControl(344).setLabel('5:00AM')
          elif getTime1 == '6:00AM':
             self.getControl(344).setLabel('5:30AM')
          elif getTime1 == '6:30AM':
             self.getControl(344).setLabel('6:00AM')
          elif getTime1 == '7:00AM':
             self.getControl(344).setLabel('6:30AM')
          elif getTime1 == '7:30AM':
             self.getControl(344).setLabel('7:00AM')
          elif getTime1 == '8:00AM':
             self.getControl(344).setLabel('7:30AM')
          elif getTime1 == '8:30AM':
             self.getControl(344).setLabel('8:00AM')
          elif getTime1 == '9:00AM':
             self.getControl(344).setLabel('8:30AM')
          elif getTime1 == '9:30AM':
             self.getControl(344).setLabel('9:00AM')
          elif getTime1 == '10:00AM':
             self.getControl(344).setLabel('9:30AM')
          elif getTime1 == '10:30AM':
             self.getControl(344).setLabel('10:00AM')
          elif getTime1 == '11:00AM':
             self.getControl(344).setLabel('10:30AM')
          elif getTime1 == '11:30AM':
             self.getControl(344).setLabel('11:00AM')
          elif getTime1 == '12:00PM':
             self.getControl(344).setLabel('11:30AM')
          elif getTime1 == '12:30PM':
             self.getControl(344).setLabel('12:00PM')
          elif getTime1 == '1:00PM':
             self.getControl(344).setLabel('12:30AM')
          elif getTime1 == '1:30PM':
             self.getControl(344).setLabel('1:00PM')
          elif getTime1 == '2:00PM':
             self.getControl(344).setLabel('1:30PM')
          elif getTime1 == '2:30PM':
             self.getControl(344).setLabel('2:00PM')
          elif getTime1 == '3:00PM':
             self.getControl(344).setLabel('2:30PM')
          elif getTime1 == '3:30PM':
             self.getControl(344).setLabel('3:00PM')
          elif getTime1 == '4:00PM':
             self.getControl(344).setLabel('3:30PM')
          elif getTime1 == '4:30PM':
             self.getControl(344).setLabel('4:00PM')
          elif getTime1 == '5:00PM':
             self.getControl(344).setLabel('4:30PM')
          elif getTime1 == '5:30PM':
             self.getControl(344).setLabel('5:00PM')
          elif getTime1 == '6:00PM':
             self.getControl(344).setLabel('5:30PM')
          elif getTime1 == '6:30PM':
             self.getControl(344).setLabel('6:00PM')
          elif getTime1 == '7:00PM':
             self.getControl(344).setLabel('6:30PM')
          elif getTime1 == '7:30PM':
             self.getControl(344).setLabel('7:00PM')
          elif getTime1 == '8:00PM':
             self.getControl(344).setLabel('7:30PM')
          elif getTime1 == '8:30PM':
             self.getControl(344).setLabel('8:00PM')
          elif getTime1 == '9:00PM':
             self.getControl(344).setLabel('8:30PM')
          elif getTime1 == '9:30PM':
             self.getControl(344).setLabel('9:00PM')
          elif getTime1 == '10:00PM':
             self.getControl(344).setLabel('9:30PM')
          elif getTime1 == '10:30PM':
             self.getControl(344).setLabel('10:00PM')
          elif getTime1 == '11:00PM':
             self.getControl(344).setLabel('10:30PM')
          elif getTime1 == '11:30PM':
              self.getControl(344).setLabel('11:00PM')
它将允许我将时间更改为30分钟,例如:从凌晨1:30改为凌晨1:00。当我有1:00AM的时间时,它将找不到1:00AM的字符串来将其更改为12:30PM。这是因为我有两种不同类型的AM和PM


在将对象中的字符串更改为我实际需要的时间之前,您能给我举个例子,说明如何找到AM和PM之间的时间吗?

您可以这样减去半小时:

from datetime import timedelta
import datetime
getTime1 = "12:00AM"
t = datetime.datetime.strptime(getTime1, "%I:%M%p")
time_half_hour_before = (t-timedelta(days=-1, minutes=30)).strftime("%I:%M%p")
print time_half_hour_before
其中打印:

11:30PM

你真的需要在那里使用一些循环和数据结构。@TigerhawkT3谢谢你的建议,你能给我一个我应该使用一些循环和数据结构的示例代码吗?你在函数中覆盖了getTime1。您打算将其设置为哪个值?@Paul Rooney:我正在尝试从1:00AM或getTime对象字符串中的任何内容设置该值。是否可以将值设置为从1:00AM到12:30PM以及从1:00AM到12:30AM?谢谢,当我尝试此操作时:t=datetime.datetime.strptimegetTime1,%i:%M%p它会给我错误类型错误:无法调用“NoneType”类型的属性。你知道我为什么会收到这个错误吗?仔细检查输入。Datetime在python中有点混乱。你需要导入datetime,而不是从datetime导入datetime,否则它将失败。我使用的是导入datetime,但我在这里仍然得到相同的结果,你知道为什么吗?下面是我使用的getTime1=getTime2.getLabel t=datetime.datetime.strptimegetTime1,%i:%m%p time\u半小时前=t.datetimedays=-1,分钟=30。打印时间%I:%M%p打印时间\u半小时\u在等待您的答案之前,请回答。