某段时间之间的行动

时间:2013-09-10 06:04:39

标签: python datetime time action

我希望实现的是当时间介于xx和yy之间时运行指定的操作。

(使用24小时格式)

实施例

  1. 当小时和分钟高于 23:30且低于而不是06:15时,运行指定的操作
  2. 如果小时和分钟高于而不是06:15且低于而不是09:00,则运行指定的操作
  3. 当小时和分钟高于而不是09:00且低于而不是23:30时,运行指定的操作
  4. 我什么时候尝试过:

    self.data = 0
    localtime = time.strftime("%H%M", time.localtime())
    localtime = int(localtime)
    if localtime >= 2330 and localtime < 615 and self.data != 1:
         [..] //running certain action
         self.data = 1
    elif localtime >= 615 and localtime < 900 and self.data != 2:
         [..] //running certain action
         self.data = 2
    elif localtime >= 900 and localtime < 2330 and self.data != 3:
         [..] //running certain action
         self.data = 3
    

    正如您所看到的,我的代码唯一的问题是,localtime不能高于而不是<23>而低于一次超过615,所以上。我得到的唯一其他想法是创建一个列出所有24小时的数组并指定某种行为......但是有没有其他方法可以达到我想要的效果?

1 个答案:

答案 0 :(得分:1)

可以使用or代替and吗?

if (localtime >= 2330 or localtime < 615) and self.data != 1:

if localtime >= 615 and localtime < 900:
     if self.data != 2
         [..] //running certain action
         self.data = 2
elif localtime >= 900 and localtime < 2330:
     if self.data != 3
         [..] //running certain action
         self.data = 3
else:
     if self.data != 1
         [..] //running certain action
         self.data = 1