odoo 判断当前时间属于多个数据区间的中哪一个
时间: 2024-12-11 20:37:18 浏览: 14
在Odoo中,如果你想判断当前时间属于多个自定义时间段中的哪一个,可以创建一个函数来处理这个逻辑。首先,你需要在数据库表中存储每个时间段的起始和结束时间,以及对应的名称或者其他标识符。假设你已经有了一个`WorkingPeriod`模型,其中包含`name`, `start_time`, 和`end_time`字段:
```python
class WorkingPeriod(models.Model):
name = fields.Char('时间段名称')
start_time = fields.Datetime('开始时间')
end_time = fields.Datetime('结束时间')
@api.model
def get_current_period(self):
current_datetime = fields.Datetime.now()
periods = self.search([]) # 获取所有时间段
for period in periods:
if period.start_time <= current_datetime < period.end_time:
return period.name, (current_datetime, period)
# 如果当前时间不在任何已知时间段内
return '其他', None
```
这个函数会遍历所有的`WorkingPeriod`记录,找出当前时间所在的区间,并返回相应的名字以及区间边界。如果当前时间不属于任何一个已知的时间段,则返回默认的“其他”标签。
阅读全文